Laravel Eloquent ORM保存:更新与创建

Wis*_*tar 1 save laravel eloquent

我有一个表,我正在尝试使用该save()方法来更新/创建行.问题是它总是创造新的线条.以下代码每次运行时都会给我大约12行.他们没有一个独特的id插在他们面前,但组合nameDateTimeCode独特.是否有办法使用这两个以便laravel识别它们exist()?我应该考虑使用if existcreateupdate呢?

foreach ($x as $y) {
    $model = new Model;
    $model->name = ''.$name[$x];
    $model->DateTimeCode = ''.$DateTimeCode[$x];
    $model->value = ''.$value[$x];
    $model->someothervalue = ''.$someothervalue[$x];
    $model->save();
};
Run Code Online (Sandbox Code Playgroud)

Hil*_*ill 5

我认为这将在laravel 4.x中起作用:

 foreach ($x as $y) {
    $model = Model::firstOrCreate(array('name' => name[$x], 'DateTimeCode' => DateTimeCode[$x]));
    $model->value = ''.$value[$x];
    $model->someothervalue = ''.$someothervalue[$x];
    $model->save();
};
Run Code Online (Sandbox Code Playgroud)

  • ++ for firstOrCreate (2认同)