我有这样的关系:
public function message()
{
return $this->hasMany('Engine\Message');
}
在我的里面Conversation
model.
对于每次对话,我都需要获取最后一条消息。
这是我尝试过的,但这只会在第一次对话中收到一条消息,但不会从其他对话中收到消息......
$con = Conversation::all();
$con->load(['message' => function ($q) use ( &$mess ) {
$mess = $q->first();
}]);
return $con;
我不想查询每条记录...有人知道如何解决这个问题吗?
按照建议here https://laracasts.com/discuss/channels/eloquent/first-and-take-do-not-work-correctly-in-eager-load-laravel?page=0!
不要使用first()
or get()
在急切加载中,您应该在模型中创建新的关系。
该模型看起来像这样......
public function message()
{
return $this->hasOne('Engine\Message');
}
向“pmall”致敬
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)