【发布时间】:2015-04-10 18:01:00
【问题描述】:
我在 Eloquent 中有以下模型:组、线程、cmets 和用户。我想从特定用户中找到特定组中的所有 cmets。
这是我目前的做法:
$group->threads->each(function ($thread) use ($user_id)
{
$user_comments = $thread->comments->filter(function ($comment) use ($user_id)
{
return $comment->owner_id == $id;
});
});
这看起来丑得要命,可能慢得要命,我只想摆脱它。在 Eloquent 中获取我的结果集的最快、最优雅的方式是什么?
【问题讨论】:
-
您想将所有 cmets 合并还是逐个线程?
-
我真的不在乎。所有的 cmets 组合起来就足够了。
-
你们的关系怎么样?因为如果您正确设置了关系,您可以执行类似 $group->find(1)->users()>find(1)->cmets;
标签: php sql laravel orm eloquent