多対多のリレーションを設計するときに、ドキュメント通りやっていたと思ったらちょっとした勘違いをした話です。
今回のテーブル
通常のテーブルは
って感じでデフォルトの規則通りリレーションを貼ればいいのですが、ちょっと癖のある名前にすると少し気をつけるところがあるようです。
ほうほう第2引数をもたせてあげればいいんだなー
public function eventTags()
{
// 第2引数はPivotテーブル!
return $this->belongstoMany('App\Modles\EventTag', 'event_tag_event)->withTimestamps();
}
public function events()
{
return $this->belongsToMany('App\Models\Events');
}
tinkerを立ち上げて確認すると・・
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias on relationship
怒られます。ヽ(´ー`)ノ
もしかしてPivotテーブル名を指定するのでは・・?
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias on relationship
public function eventTags()
{
// 第二引数はPivotテーブル!
return $this->belongstoMany('App\Modles\EventTag', 'event_tag_event)->withTimestamps();
}
public function events()
{
return $this->belongsToMany('App\Models\Events');
}
怒られませんでした。ヽ(´ー`)ノ
最近はバッグエンドよりもフロントエンドが気になって夜も寝れませんヽ(´ー`)ノ
関連書籍