我有一个Product
关系的hasMany
模型
public function pricing()
{
return $this->hasMany('App\ProductPrice', 'prod_id', 'id');
}
然后我得到了关系
Product::with('pricing')->all();
如何以
pricing
为键来检索id
关系。我知道我可以使用Collection
在keyBy('id)
上执行此操作,但不适用于查询。我想获得与以下相同的结果,但我想从
Product
关系中获得它。ProductPrice::keyBy('id')
最佳答案
一种快速的解决方法是使用setRelation方法替换数组中的当前关系。在您的情况下:
$product = Product::with('pricing')->all();
$product->setRelation('pricing', $product->pricing->keyBy('id'));
关于laravel - Laravel Eloquent获得与keyBy的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31147107/