orderBy("name", "asc") ->get(); } public function findById(int $id): ?City { return City::find($id); } public function create(array $data): City { return City::create($data); } public function update(int $id, array $data): ?City { $model = $this->findById($id); if (!$model) { return null; } $model->update($data); return $model->fresh(); } public function delete(int $id): bool { $model = $this->findById($id); if (!$model) { return false; } return $model->delete(); } public function getAllByStateId(int $stateId): Collection { return City::with(["state:id,name", "country:id,name"]) ->where('state_id', $stateId) ->orderBy('name', 'asc') ->get(); } public function getAllByCountryId(int $countryId): Collection { return City::with(["state:id,name", "country:id,name"]) ->where('country_id', $countryId) ->orderBy('name', 'asc') ->get(); } }