使用子句选项返回Laravel多对多关系

时间:2018-03-12 11:46:50

标签: laravel

Laravel中有代码:

$product = Product::where('slug', $slug)->with('types')->with('brand')->firstOrFail();

return $product;

我正在检索包含类型数组和品牌数组的数组。

类型具有布尔选项“is_active”

如何使用is_active

类型返回$ product

离。

$product = Product::where('slug', $slug)->with('types')->with('brand')->where('types.is_active', '=', '1')->firstOrFail();

2 个答案:

答案 0 :(得分:3)

试试这个,

$product = Product::where('slug', $slug)->with([
   'types' => function($query){ $query->where('is_active',true); } ,
   'brand'
])
->firstOrFail();

来源文档,https://laravel.com/docs/5.6/eloquent-relationships#constraining-eager-loads

答案 1 :(得分:0)

如果您只需要类型有效的产品,您也可以过滤它们:

EmpDeviceCode | EmpCode | LogDate  |EnquiryID |FirstName | Gender
------------------------------------------------------------------
111           |   111   |2017-02-03|JE-111    | AAAAA    | Male