Laravel:在调用ORM的save()方法之后总是读取新写入的数据吗?

时间:2017-11-27 03:25:09

标签: php mysql laravel

代码:

$item1 = Item::find(1);
$item1->foo = 1;
$item1->save();
$another_item1 = Item::find(1);
dd($another_item1->foo);//Is this value always 1?

我的问题:

  1. 在调用ORM的save()方法后,是否始终读取新写入的数据?在我的例子中,$another_item1->foo总是1吗?
  2. 如果问题1的答案不是,我怎样才能确保从数据库中读取新写入的数据?

1 个答案:

答案 0 :(得分:0)

我认为你可能对find()功能感到困惑。 find()用于通过其主键获取一个或多个模型。返回值可以是单个模型,也可以是集合,如果找不到记录,则为null

如果您要查找多行,则需要运行Item::get();

<强>用途

$Item = Item::find(1); // returns model or null
$Items = Item::find(array(1, 2, 3)); // returns selected Items in collection
$Items = Item::get(); // Returns all in collection

https://laravel.com/docs/5.5/eloquent