Php 使用withCount和get([名称作为值])的Laravel雄辩查询

Php 使用withCount和get([名称作为值])的Laravel雄辩查询,php,laravel,eloquent,Php,Laravel,Eloquent,当我试图使用withCount检索记录,同时希望以不同的名称返回字段时,laravel中出现了一个问题。如果删除getCount,查询将正确返回字段,但是当我添加withCount时,它将忽略语句中的AS子句 Maker::where('type_id', $request->type_id)->get(['maker_name AS label', 'id AS value']); 正确返回具有道具“标签”和“值”的对象数组 Maker::where('type_id', $re

当我试图使用withCount检索记录,同时希望以不同的名称返回字段时,laravel中出现了一个问题。如果删除getCount,查询将正确返回字段,但是当我添加withCount时,它将忽略语句中的AS子句

Maker::where('type_id', $request->type_id)->get(['maker_name AS label', 'id AS value']);
正确返回具有道具“标签”和“值”的对象数组

Maker::where('type_id', $request->type_id)->has('maker')->has('listing')->withCount(['listing'])->get(['maker_name AS label', 'id AS value']);

此语句忽略AS子句,只返回添加了listing_count字段的数据库记录

我希望查询返回:

[
   {
     label : 'string',
     value : int,
     listing_count : int
    },
    ...


]


您应该尝试下面的代码

Maker::select(['maker_name AS label', 'id AS value'])->where('type_id', $request->type_id)->has('maker')->has('listing')->withCount(['listing'])->get();

尝试使用
Maker::select(['Maker_name AS label','id AS value'])->where('type_id',$request->type_id)->has('Maker')->has('listing')->withCount(['listing'])->get()`@DhananjayKyada添加为答案