laravel 是否会为返回的模型集合的任何位置重新连接到数据库?
Will laravel reconnect to the database for any where on returned model collection?
如果我们有这样的发现:
$returnedModel = Flight::
with("passengers")
->find(1);
现在,如果我像这样在 returnedModel
上添加一个位置:
$returnedModel->passengers()->where("name" , "hamid")->first();
是否会Laravel
为返回的模型集合的任何位置重新连接到数据库?
我添加了 DB::getQueryLog()
并且这里有一个查询!我如何在不重新连接到数据库的情况下获得它?
您需要以 属性 的方式访问您的 passengers
,而不是方法,顺便说一句,您得到一个已经从数据库加载的 Laravel 集合(感谢 with
急切加载).
$returnedModel->passengers->firstWhere('name', 'hamid');
如果我们有这样的发现:
$returnedModel = Flight::
with("passengers")
->find(1);
现在,如果我像这样在 returnedModel
上添加一个位置:
$returnedModel->passengers()->where("name" , "hamid")->first();
是否会Laravel
为返回的模型集合的任何位置重新连接到数据库?
我添加了 DB::getQueryLog()
并且这里有一个查询!我如何在不重新连接到数据库的情况下获得它?
您需要以 属性 的方式访问您的 passengers
,而不是方法,顺便说一句,您得到一个已经从数据库加载的 Laravel 集合(感谢 with
急切加载).
$returnedModel->passengers->firstWhere('name', 'hamid');