Laravel With:重新调整关系的子集

Laravel With:重新调整关系的子集,laravel,Laravel,我想使用With方法获得相关数据的子集。我的实施如下: public function all($user_id){ return Cart::where("user_id", $user_id) ->with(['products' => function($query){ $query->select("products.*", "quantity"); },'products.productsDetails' => function($quer

我想使用With方法获得相关数据的子集。我的实施如下:

public function all($user_id){
   return Cart::where("user_id", $user_id)
   ->with(['products' => function($query){
    $query->select("products.*", "quantity");
 },'products.productsDetails' => function($query){
    $query->select("id", "price");
 }])->get(); 
}

但是第二个函数始终返回null。如何获取数据的子集?

至少您需要选择外键
产品id
,这样Laravel将通过
产品id
收集每个
产品的
产品详细信息

。。。
},'products.productsDetails'=>函数($query){
$query->select(“id”、“price”、“product_id”);
}])->get();
}

你说得对,因为外键已经显示在上面的列表中,所以没有显示外键的可能性吗relation@Amir也许你可以使用
protected$hidden=['product_id']
隐藏关系的字段。如果您想为模型获取这个外键,您需要添加makevisibable。更多