我如何将条件与 laravel 相关联?
How can i put condition in relation in laravel?
我有 File 模型,它存储我的图像,我有 shop 模型,商店可以有很多图像并且在商店模型我写了这段代码:
public function Files()
{
return $this->hasMany('system\models\file', 'attachment_id');
}
我想用它的图像检索商店模型,现在我的问题是如何将条件关联起来。我检索商店模型的代码是:
$shop = Shop::where('id', $id)->with('ShopType', 'User', 'Files')->get();
注意: 我需要为调用 attachment_id 的 Files 方法中设置的主题之一的关系设置 2 个条件,我的第二个条件是 attachment_type
请帮我。谢谢
型号
public function all() {
return $this->hasManyThrough('ShopType', 'User', 'Files');
}
然后
$shop = Shop::with('all')->where('id',$id)->get();
你可以使用 constraining-eager-loads:
$shop = Shop::with(['ShopType','User', 'Files'=>function ($query)use($id)
{
query->where('id', $id);
}
])->get();
更多详细信息:
https://laravel.com/docs/7.x/eloquent-relationships#constraining-eager-loads
我有 File 模型,它存储我的图像,我有 shop 模型,商店可以有很多图像并且在商店模型我写了这段代码:
public function Files()
{
return $this->hasMany('system\models\file', 'attachment_id');
}
我想用它的图像检索商店模型,现在我的问题是如何将条件关联起来。我检索商店模型的代码是:
$shop = Shop::where('id', $id)->with('ShopType', 'User', 'Files')->get();
注意: 我需要为调用 attachment_id 的 Files 方法中设置的主题之一的关系设置 2 个条件,我的第二个条件是 attachment_type
请帮我。谢谢
型号
public function all() {
return $this->hasManyThrough('ShopType', 'User', 'Files');
}
然后
$shop = Shop::with('all')->where('id',$id)->get();
你可以使用 constraining-eager-loads:
$shop = Shop::with(['ShopType','User', 'Files'=>function ($query)use($id)
{
query->where('id', $id);
}
])->get();
更多详细信息:
https://laravel.com/docs/7.x/eloquent-relationships#constraining-eager-loads