Создание JSON ORM и отношений с Laravel
На самом деле, я делаю это, чтобы построить JSON из многих объектов ORM в контроллере:
Response::json(Project::all());
Результат:
[
{id: 1, name: 'test1'},
{id: 2, name: 'test2'},
{id: 3, name: 'test3'}
]
Теперь я хочу:
[
{
id: 1,
name: 'test1',
levels: [
{
id: 1,
name: 'level1'
},
{
id: 2,
name: 'level2'
}
]
},
{id: 2, name: 'test2', levels: []},
{id: 3, name: 'test3', levels: []}
]
Моя модель проекта выглядит так:
class Project extends Eloquent {
protected $table = 'projects';
public function levels()
{
return $this->belongsToMany('Level', 'project_has_levels');
}
}
Как ты это делаешь?
1 ответ
Решение
Используйте нетерпеливую загрузку.
Response::json(Project::with('levels')->get());