我试图在一个JSON中获取所有属性。
例如: 考虑我有一个表“地方”,“id”,“name”,“description”作为属性。 现在, 我有另一个表“region”,其中“id”,“name”,“place_id”,“description”作为属性(或)架构。 地方和地区之间存在一对多的关系。
现在,我将另一个表“street”定义为“id”,“name”,“region_id”作为其架构。 “地区”和“街道”之间再次存在一对多的关系。
我想得到一个地方的所有细节。如果有一个地方“1,banglore,花园城市”,并且有两个地区,那个place_id为 “{”1,rtnagar,1,banglore中的地区“},{”2,ashok nagar,1,banglore中的地区“}”。这里“1”是“banglore's id(1)”的外键引用ID。
现在,类似地,如果每个区域在街道表中有3条街道。我想在一个JSON中获取所有值。我知道我们可以通过 foreach 来实现这一目标。但是,我想要一个有效的解决方案,从Region,Street in JSON获得与Place模型的所有嵌套关系。
感谢。
答案 0 :(得分:1)
首先需要定义一对多关系,如:
class Places extends Eloquent{
....
public function regions()
{
return $this->hasMany('App\Region');
}
...
}
街道也一样:
class Regions extends Eloquent{
....
public function streets()
{
return $this->hasMany('App\Street');
}
....
}
请注意,我假设您的模型位于App文件夹中并具有相应的命名空间。 之后,您可以获得如下模型:
Place::with('regions.streets')->get();
如果发送json响应,它将自动嵌套所有关系并转换为JSON。