अपने मॉडल
<?php
namespace App;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name', 'email', 'password'];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = ['password', 'remember_token'];
public static function insertIgnore(array $attributes = [])
{
$model = new static($attributes);
if ($model->usesTimestamps()) {
$model->updateTimestamps();
}
$attributes = $model->getAttributes();
$query = $model->newBaseQueryBuilder();
$processor = $query->getProcessor();
$grammar = $query->getGrammar();
$table = $grammar->wrapTable($model->getTable());
$keyName = $model->getKeyName();
$columns = $grammar->columnize(array_keys($attributes));
$values = $grammar->parameterize($attributes);
$sql = "insert ignore into {$table} ({$columns}) values ({$values})";
$id = $processor->processInsertGetId($query, $sql, array_values($attributes));
$model->setAttribute($keyName, $id);
return $model;
}
}
के अनुसरण की विधि insertIgnore जोड़ें आप उपयोग कर सकते हैं:
App\User::insertIgnore([
'name' => 'Marco Pedraza',
'email' => '[email protected]'
]);
अगले क्वेरी यह निष्पादित किया जाएगा:
insert ignore into `users` (`name`, `email`, `updated_at`, `created_at`) values (?, ?, ?, ?)
इस विधि स्वचालित रूप से जोड़/यदि आपने सक्षम या अक्षम किया है तो वाष्पकालीन टाइमस्टैम्प को हटा दें।
स्रोत
2016-11-02 02:53:16
सरणी है एक प्रमुख => मूल्य जोड़ी जो कॉलम => मान सेटअप के अनुरूप है? यदि ऐसा है, तो इसे उत्पन्न करने के लिए बस एक लूप लिखें। – wesside
हां यह करता है! :) क्या आप SQL क्वेरी कथन उत्पन्न करने के लिए लूप लिखना चाहते हैं? – Nyxynyx
धन्यवाद, मुझे नहीं पता था कि अन्य डेटाबेस पुस्तकालयों का उपयोग किया जा सकता है! मुझे इसे बदलने के बारे में कैसे जाना चाहिए? – Nyxynyx