自动获取“withCount”

时间:2016-09-30 05:50:56

标签: laravel laravel-5 laravel-5.3

我知道您可以通过将以下内容放在模型类中来自动检索关系:

protected $with = [
    'users', 'scores'
];

但是有可能对“withCount”做同样的事情吗?

我尝试了这个,但它不起作用:

protected $withCount = [
    'users'
];

1 个答案:

答案 0 :(得分:1)

如果要在数组表单输出中包含相关模型的计数,则必须先创建accessor并将其放在模型的$appends数组中。

  1. 定义访问者

    //  In your model
    public function getUserCountAttribute() {
        $users = $this->users;    //  From the relationship you defined
        return $users->count();
    }
    

    您现在可以在对象中使用userCount属性。

    1. userCount属性添加到模型类中的$appends数组

      //  In your model
      protected $appends = ['userCount'];