你好,我正在尝试制作一个 RESTful API,我的数据库中有这个表,我想要一个像这样的嵌套路由
localhost/foodGroup/{id}/portions/{id}/foods
我希望它返回一个 JSON,其中包含我拥有的具有相同部分和相同 foodGroup 的所有食物:这是我的数据库:
foodGroup
id - integer (primary key)
name - string
portions
id - integer (primary key)
name - integer
foods
id - integer (primary key)
name - string
foodGroup_id - integer (foreign key)
portion_id - integer (foreign key)
这些是我的模型
class Food extends Model
{
public function food_group(){
return $this->belongsTo('App\FoodGroup');
}
public function portion(){
return $this->belongsTo('App\Portion');
}
}
class FoodGroup extends Model
{
public function foods(){
return $this->hasMany('App\Food');
}
}
class FoodGroup extends Model
{
public function foods(){
return $this->hasMany('App\Food');
}
}
最佳答案
Route::get('foodGroup/{id}/portions/{id}/foods',function($foodGroup, $portion){
return Food::where([
'foodGroup_id',$foodGroup,
'portion_id',$portion
])->get();
}
您还可以使用 Route-Model Binding如果您想访问 foodGroup
和 portion
模型而不仅仅是 ID
关于mysql - 如何使用 laravel 在 RESTful API 中获取具有多个外键的嵌套 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35712561/