php - 在 Eloquent 模型中返回集合而不是关系

标签 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;
 } 
}

Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation

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

我应该做什么?

最佳答案

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

function channelsAttribute()

你需要做

function getChannelsAttribute()

关于php - 在 Eloquent 模型中返回集合而不是关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43300850/

相关文章:

javascript - 如何在选择下拉菜单时选中复选框

php - 创建库的框架在哪里?

java - 如何在不使用 foreach 的情况下合并两个列表?

java - ConcurrentHashMap 中的故障安全迭代器

php - 如何修改已执行的 Laravel 查询生成器

php - 通过PHP套接字发送和接收多个JSON文字

php - 为什么 withCookie() 不起作用?

php - Laravel - 多对多,其中多对多表是(部分)多态

Laravel 设置引导选择

java - 从 ArrayList 到 Collection 的转换