我知道这是一个有趣的问题,但我无法使用关系来解决它。
这是我的模型:
public function category(): BelongsTo
{
return $this->belongsTo('App\Models\Master\Product\Category');
}
这是我的控制器:
$products = Product::with('category')->orderBy('category.name')->get();
但是我收到错误未知错误列“category.name”,尽管该列存在。我知道我可以像这样使用 leftjoin 来解决这个问题:
$products= Product::leftJoin('categories', 'categories.id','products.category_id')->orderBy('categories.name')->get();
但是如果我只想在该关系中使用 OrderBy 呢?
您可以使用:
$products = Product::with(['category' => fn($q) => $q->orderBy('name')])->get();
请参阅文档中的约束渴望加载以获取更多详细信息