在Eloquent Model中返回集合而不是关系

时间:2017-04-08 22:09:31

标签: php laravel collections eloquent relation

在我的模型中,我有一个集合,我试图在我的模型中返回它,而不是关系对象。

这样我就可以调用$user->items来获取该集合。

在模型中,函数如下所示:

class User extends Model {

 public function channelsAttribute() {
     $name = Company::where('id', $this->id)->first()
     $items = Item::where('company_id', $name)->get();

     return $items;
 } 
}
  

关系方法必须返回类型为Illuminate \ Database \ Eloquent \ Relations \ Relation

的对象

因为有两种方式,我找不到使用关系的方法;但是$items会返回值集合。

我该怎么办?

1 个答案:

答案 0 :(得分:2)

您没有正确调用方法,而不是

function channelsAttribute()

你需要做

function getChannelsAttribute()