【问题标题】:nested json laravel 5.5嵌套的json laravel 5.5
【发布时间】:2017-12-19 16:06:07
【问题描述】:

我很难构建和返回嵌套的 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:

{"data":[{"type":"event","id":"1","name":"event_1","description":"event blabla","location_id":11}

如果我想获取id为“location_id”的表“location”的所有信息并显示在同一个json中,那么检索这些数据的最佳方法是什么?

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

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

    您可以在控制器中设置事件后执行此操作:

    $event->load('location');
    
    return $event->toJson();
    

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

    【讨论】:

    • 对不起,我对 laravel 不太实用,您可以详细说明...非常感谢
    • 无论何时获取一个事件,您都可以将一个或整个集合转换为 JSON。你的模特叫什么名字?你是如何获取它们的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 2014-02-01
    • 2018-08-31
    相关资源
    最近更新 更多