2014-12-26 2 views
2

Postman을 사용하여 API 요청을 API 끝점에 제출합니다.Laravel : 한 번에 여러 모델 저장/json 중첩 입력

내 중첩 된 JSON에서 아티스트는 하나 이상의 앨범을 보유하고 있으며 각 앨범에는 하나 이상의 노래가 있습니다.

나는 두 가지 질문이 있습니다 : 1) Laravel에서 중첩 배열 검증을 수행하려면 어떻게합니까? 나는 그렇게하기위한 최적의/표준 Laravel 방법을 찾고있다.

2) 여러 모델을 함께 저장하려면 어떻게해야합니까? 참고 : I는 발리의 each 방법을 사용

class Artist extends Eloquent { 
    public function albums() 
    { 
     return $this->hasMany('Album'); 
    } 
} 

class Album extends Eloquent { 
    public function songs() 
    { 
     return $this->hasMany('Song'); 
    } 
} 

class Song extends Eloquent { 
    public function album() 
    { 
     return $this->belongsTo('Album'); 
    } 
} 

class Album extends Eloquent { 
    public function artist() 
    { 
     return $this->belongsTo('Artist'); 
    } 
} 

답변

1

1)로 내 웅변 모델에서 관계를 형성했다 :를 통해 아티스트, 루프를 생성 한 후

$validator = Validator::make(Input::all(), [...rules...]); 

$validator->each('albums', [...rules...]); 

2) 귀하 albums

$artist = Artist::create(Input::all()); 

foreach (Input::get('albums') as $album) 
{ 
    $artist->albums()->create($album); 
} 
의 관계에 대해 create으로 전화하십시오.
관련 문제