Laravel: 查询带有计数的模型

Laravel: query a model with count

如何使用模型方法在 laravel 中查询? 我在城市模型中有一个计数器方法,我想在我的 select 查询中使用它来响应

我怎么写这个?

我的城市模型

public function mobile()
{
    return $this->hasMany(Mobile::class);
}

public function mobile_count()
{
    return $this->mobile()->count();
}

我的查询

public function findCityWithID($id)
{
    $subgroup = City::select('id', 'name', 'state_id')->where('state_id', $id)->orderBy('name')->get();
    return response()->json($subgroup);
}

我希望在 $subgroup 中每个城市的手机都算数

模特:

public function mobiles()
{
    return $this->hasMany(Mobile::class);
}

查询:

$cities = City::withCount('mobiles')->where('state_id', $id)->get();

$response[];
foreach ($cities as $city) {
    response[
      'id' => $city->id;
      'name' => $city->state;
      'state_id' => $city->state_id;
      'mobile_count' => $city->mobile_count;
    ];
}

return response()->json($response);