【发布时间】:2019-05-25 13:18:59
【问题描述】:
我有我的 Country 模型和 State 模型。只有拥有state的国家才能显示state,或者返回[];
我想一击将其返回到我的响应对象中,但我无法全神贯注地获取正在查询中运行的当前国家/地区的 id,我刚刚构建了这个:
return response()->responseObject([
'code' => 200,
'status' => true,
'message' => 'Retrieved List of Available Countries',
'data' => Country::where('allow_registration', Country::REGISTRATION_ALLOWED)->get([
'id',
'name',
'iso',
'iso3',
'prefix',
'states' => function($query){}
])
]);
我还有另一个函数在等待这个:
public static function getStates($id)
{
$states = State::where('country_id', $id);
return $states ? $states : [];
}
我接近这个了吗?为了获得当前的国家/地区 ID,我必须在我的子查询功能中添加什么?还是我处理错了,有一种更有说服力的实施方式?
【问题讨论】:
-
'countries' 表是否有 state_id,'states' 表是否有 country_id?如果是这样,我将路由模型绑定,然后通过创建 hasMany 关系返回属性。如果您想了解更多细节,请告诉我,但下面的答案确实在正确的轨道上,只是没有正确解释。
-
您好。请尽量避免对软件工程师做出性别假设,因为这可能不受欢迎。无论如何,我们倾向于减少问候和问候。谢谢。
标签: laravel