我目前通过使用视图表来表示这种情况并且它正在运行
每当我尝试这样的事情时:
public function index($id)
{
$bar = Bar::find($id);
echo count($bar->views);
}
我得到了我期望的结果数量,并且使用var_dump也可以正确查看结果。
只有当我尝试使用像这样的where语句对结果进行排序时,我才会得到任何结果。我尝试了多个where语句,但没有任何反应。没有错误。
public function index($id)
{
$bar = Bar::find($id);
$bar->views->where('id', '=', 1);
}
我可以不对从多态关系中返回的结果进行排序,或者我在其他地方出错了吗?
答案 0 :(得分:1)
example in the documentation看起来非常相似,只有一个区别:
$user->posts()->where('active', 1)->get();
所以看起来你可能需要:
$bar->views()->where('id', '=', 1); // notice the parentheses after `views`