2016-07-18 4 views
0

을 인식하지. 컨벤션을 따르고 있다면 왜 ID를 추가해야합니까? (또는 적어도 나는 그렇게 생각한다). user_id 열과 동일한 규칙을 따르고 ID 설정자가 필요하지 않습니다.Laravel 관계 belongsTo를 ID가 나는 그 스키마가

+0

테이블 이름의 밑줄과 관련이있을 수 있습니다? – Sam

+0

이것은 내가 생각한 것이지만 문서에서 아무 것도 찾을 수 없다는 것입니다. @Sam – Alan

+0

설명서를 빨리 ​​읽었습니다. 당신의'Ticket' 함수의 이름을'ticket_reason()'으로 바꾸고 그것을 지정하지 않고 작동하는지보십시오. 외래 키? 그렇다면 대답으로 추가하고 문서에 링크 할 수 있습니다. – Sam

답변

1

그래서, 나는 이것에 대한 Laravel의 Eloquent 문서를 잘못 할 것이다 ... 외래 키가 어떻게 자동 생성되는지에 대해서는 너무 분명하지 않다.

설득력이 User 모델상의 idPhone 모델에서 user_id 일치하도록 노력할 것입니다 : 그래도 난 (강조 광산)에 Eloquent Relationships page에서,이를 발견했다. Eloquent는 기본 외부 키 이름을 으로 정의하고의 이름을 검사하고 메서드 이름의 접미사를 _id으로 지정합니다.

당신 (나 자신 등)이 가정 할 수있는 것과는 반대로, 외래 키의 이름에 의해 외래 키가 생성되지 않습니다. 대신, 당신의 ::belongsTo() (또는 hasOne() 등) 호출에있는 메소드의 이름을 사용합니다.


public function reason() {} 필요 public function ticket_reason() {}로 변경하는 것을 의미한다. 물론 열 이름을 reason_id으로 변경할 수도 있습니다.

+0

신난다, 고마워! – Alan