使用封装的 Queries,本地传递 include 可以查询出关联关系,但是线上不行
使用封装的Queries,本地传递include可以查询出关联关系,但是线上不行
使用 了 spatie/laravel-query-builder 扩展包
本地传递include=product 的时候是正常的,可以查询出关联关系,线上传递,无法查询
这是CartItemQuery的内容
<?php
namespace App\Http\Queries;
use App\Models\CartItem;
use Spatie\QueryBuilder\QueryBuilder;
class CartItemQuery extends QueryBuilder
{
public function __construct()
{
parent::__construct(CartItem::query());
$this->allowedIncludes('product');
}
}
这是CartItemsController的内容
public function index(Request $request, CartItemQuery $query)
{
$cartItems = $query
->where('uu_id', $request->user()->uu_id)
->recent()
->get();
return CartItemResource::collection($cartItems);
}
很奇怪,如果不用queries,直接在控制器中使用Spatie\QueryBuilder\QueryBuilder
,则线上传递include是正常的,封装到Queries中就不显示,但是本地测试都正常
推荐文章: