2014-10-30 6 views
0

На самом деле, я могу это сделать, чтобы построить JSON многих объектов ORM в контроллере:Строительство JSON ОРМ и отношения с Laravel

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'); 
    } 

} 

Как вы это делаете?

ответ