2014-12-11 2 views
1

예 : 두 모델이 있습니다 : BookAuthor입니다. 각 책에는 단 한 명의 저자 만 있습니다.
북 ID는 자동 증가 키입니다.Laravel 5 시더 : 다른 시더에서 자동 증가 필드를 사용하는 방법?

그래서 2 명의 시드를 사용해야합니다 : BookTableSeederAuthorTableSeeder. 그들은 다른 클래스에 있습니다 : BookTableSeederAuthorTableSeeder.

먼저 내가 books을 시드 한 다음 authors을 시드합니다. 책에서 작성자 ID를 사용하는 경우 어떻게 책을 시드 할 수 있습니까?

+0

데이터를 함께 시드하면 ID를 사용하여 함께 연결할 수 있습니다. 또는 씨앗 작성자는 먼저 자신의 책을 읽었습니다. 또는 논리적 인 방식으로 생각하면 책이 저자 없이는 존재하지 않습니다. –

+0

@MattBurrow 그것은 단지 예일뿐입니다. 실제 단어로 모든 모델 (거의)은 관련되어 있습니다. 모든 씨앗이 하나의 파일에 있어야한다는 의미입니까? – DmitryR

+0

데이터가 예 관련되어 있으면. 그러나 별도의 클래스에 시드하려는 경우 수동으로 ID를 직접 입력하는 것이 가장 좋은 방법입니다. 마음 속에 심는 것을 유지하는 것은 주로 응용 프로그램의 더미 데이터 또는 초기 데이터를 채우는 데 사용됩니다. –

답변

1

저자에게는 도서가 필요하기 때문에 저자 앞에는 의미있는 종자 책이 없습니다.

먼저 저자를 창조하는 BookTable 파종기에 이런 식으로 뭔가를 시도 할 수 있습니다, 그 후에 책을 만들 수 있습니다 : 하나의 책을 가지고 또한

$book->author = Author::where('name', 'Shakespeare')->first(); 

가 각 작가에 대한 이해가되지 않습니다를

+0

같은 방식으로이 문제를 해결했습니다. 감사합니다. – DmitryR