5
모델에 관계를 추가했습니다. 다음 인 구조 :Laravel save 관계와 함께 Eloquent
Structure
hasMany
모델Managers
.$structure->name = "Something"; $manager1 = new Manager; $manager2 = new Manager; $manager1->name = "Man One"; $manager2->name = "Man Two"; $emp1 = new Employee; $emp2 = new Employee; $emp3 = new Employee; $emp1->name.... ... .... $manager1->add($emp1); $manager1->add($emp2); $manager2->add($emp3); $structure->add($manager1); $structure->add($manager2); .... //Some calculations & necessary processing to fill up other properties of $structure. ///Now I have to save $structure.. $structure->push()
를하지만 오류를 반환하는 분명한 이유 외래 키 (
structure_id
)의$manager
요구 값이 각Manager
hasMany
Employees
은 그래서 나는이 다음 코드를 사용하여 수행 얻을. $structure->managers()->save()
은 도움이되지만 관계와 그 관계은 모두 저장하는 것이 어렵습니다.
따라서 전체 구조 모델을 한 번에 저장하는 방법을 알아야합니다.
$structure->managers()->saveMany(array($managers));
또는 객체 데이터가 관리자 모델에서 $의 작성 가능한 배열의 선언과 함께 (당신은 배열의 배열을 통과해야 :
내가 많은 시간 동안 무엇을 검색했는지 물었다. –
구조 모델을 먼저 저장해야하며 그 아래에 관리자를 저장하기 위해'$ structure-> managers() -> save()'를 사용하십시오. 아마도 트랜잭션에서 랩핑하는 것이 가장 좋을 수 있습니다. 따라서 하나가 실패하면 삽입이 롤백됩니다. –
@ andrew-nolan 릴레이션을 따로 따로 저장하는 것이 번거롭기 때문에'$ structure-> push() '보다 더 효율적인 것을 기대했습니다. –