排序多态关系laravel

时间:2016-01-19 15:45:17

标签: php laravel laravel-5 eloquent laravel-5.1

我目前通过使用视图表来表示这种情况并且它正在运行

每当我尝试这样的事情时:

    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);
    }

我可以不对从多态关系中返回的结果进行排序,或者我在其他地方出错了吗?

1 个答案:

答案 0 :(得分:1)

example in the documentation看起来非常相似,只有一个区别:

$user->posts()->where('active', 1)->get();

所以看起来你可能需要:

$bar->views()->where('id', '=', 1); // notice the parentheses after `views`