嵌套的json laravel 5.5

时间:2017-12-19 16:06:08

标签: php json laravel laravel-5 laravel-5.5

我很难构建并返回嵌套的json。我想从两个与id连接的不同表中获取信息。

这是我的情况:

在我的控制器上使用此方法:

public function eventOccList(EventOccurrence $eventOccurrence){
    return new EventOccurrenceResourceCollection(EventOccurrence::all());
}

并使用EventOccurrenceResource类中的映射

return [
    'type' => 'event',
    'id' => (string) $this->id,
    'name' => $this->name,
    'description' => $this->description,
    'location_id' => $this->location_id
]; 

我获得了这个JSON:

  

{&#34;数据&#34;:[{&#34;类型&#34;:&#34;事件&#34;&#34; ID&#34;:&#34; 1&#34; ,&#34;名称&#34;:&#34; event_1&#34;,&#34;说明&#34;:&#34;事件blabla&#34;,&#34; location_id&#34;:11} < / p>

如果我想获得有关表格的所有信息&#34; location&#34;用id&#34; location_id&#34;并在同一个json中显示,检索此数据的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

我假设您的事件模型具有位置关系:

public function location{
    return $this->belongsTo(Event::class);
}

您可以在控制器中举办活动后执行此操作:

$event->load('location');

return $event->toJson();

然后,您可以隐藏或附加您想要的任何属性:)