2017-05-11 1 views
0

나는 그것을 올바르게 만드는 방법을 궁금해하고있었습니다.Laravel Model 1-n Instanciation

  • 오브젝트 1
  • Object2

이 둘 사이의 관계는 1-n은 :

  • 오브젝트 1 hasMany의 Object2
  • Object2 belongsTo를 오브젝트 1
  • 의 우리가이 개 모델을 가지고 있다고 가정 해 봅시다
DB에 우리는 기본을 준수했는지

주의 이름을 (object1_id, ...) 속성 내가 인스턴스화 할

:

$object1 = new Object1; 
$object2_1 = new Object2; 
$object2_2 = new Object2; 

방법에 오브젝트 1을 저장하기 전에 오브젝트 1에이 두 Object2를 연결하는 DB? DB에 Object1 전에 저장하지 않고이 작업을 수행 한 다음 Object1의 ID를 사용하여이 Object2를 연결하는 방법이 있습니까? 같은

뭔가 :

$object1->add?($object2_1); 
$object1->add?($object2_2); 
$object1->save(); 

우리가)가 (저장에는 해당 Object2의 aswell DB를 추가 할 것을 원하는 알고.

답변

1

첫째, 권리 관계는 다음과 같습니다

  • 오브젝트 1 hasMany의 Object2
  • Object2에 BelongsTo 오브젝트 1

다음, 당신이 그런 일을 할 수 :

$object1 = Object1::create([]); 
$object2_1 = new App\Object2([]); 
$object2_2 = new App\Object2([]); 

것은 다음 연결을 에 $ object1처럼 :

$object1->objects2()->saveMany([$object2_1, $object2_2]);