如何在Laravel中将嵌套关系数组转换为单个数组

时间:2019-01-08 11:14:22

标签: php mysql laravel

项目模型:

public function item_makes(){
     return $this->hasMany(ItemMake::class,'item_id','id');
}

在ItemMake模型中:

public function make(){
    return $this->belongsTo(Make::class,'make_id','id');
}

我需要基于item_id获取所有品牌的阵列。如何实现呢?预先感谢。

3 个答案:

答案 0 :(得分:1)

尝试这样的事情:

Item::findOrFail(1)
    ->with('item_makes.make')
    ->get()
    ->pluck('make')
    ->flatten()
    ->toArray()

答案 1 :(得分:1)

尝试使用wherehas这样的方法

$makes = Make::whereHas('item_makes', function ($query) use($item_id) {
   $query->where('item_id',  $item_id);
})->get();

答案 2 :(得分:0)

这对我有用。

setfenv