人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravelのモデルで明示的にIDの値を指定して INSERT する

$insert_data = [
    'id'         => 1001 ,
    'user_name'  => 'テスト太郎' 
];

IDがガードされている場合、次のようにすると user_name のみ INSERTするSQL文が実行されます。

・ id に値をセットしないで INSERT

$model = new MyModel();
$model->fill($insert_data)->save();

 ↓ 明示的に ID にも値を入れて INSERT する場合はこのようにします。

・ id に値をセットして INSERT

$model = new MyModel();
$model->insert($insert_data);

ただし この方法では自動的に created_at にインサート時刻が入りません。 そこで明示的に現在時刻を渡してあげます。

$insert_data['created_at'] = new \Carbon\Carbon();

関連エントリー

No.1427
02/01 14:45

edit

Eloquent
DB