多对多模型关联 ,如果字段 过滤指定字段,怎么优雅的处理写法比较好?
app/Http/Controllers/ProductsController.php
public function favorites(Request $request)
{
$products = $request->user()->favoriteProducts()->paginate(16);
return view('products.favorites', ['products' => $products]);
}
多对多模型关联 ,如果字段 过滤指定字段,怎么优雅的处理写法比较好?
高认可度评论:
@gyp719 哦哦,可以把要 select 的字段放在 paginate 的第二个参数
paginate(16, ['id', 'title'])
什么叫「过滤指定字段」
就是 收藏列表 只需要几个字段,没有过滤字段,将 products 的所有字段查询出来了
加上 ->select(['id', 'name' .....])
@leo 就是 这里的困扰,
$products = $request->user()->favoriteProducts()->select(['products.id', 'title'])->paginate(16); 此时 select 失效
$products = $request->user()->favoriteProducts()->select(['products.id', 'title'])->get(); 此时 select 有效 ,但是 没有分页
@gyp719 哦哦,可以把要 select 的字段放在 paginate 的第二个参数
paginate(16, ['id', 'title'])