Laravel5で多対多構造をbelongsToManyで定義する

Laravelでは多対多の構造をbelongsToManyを使って定義できる。これは規約に外れた中間テーブル名やカラム名を構築してしまっていても引数指定でいける。

belongsToManyの設定では以下のようにする

  • 第1引数では最終的な接続先モデルを指定する
  • 第2引数では中間テーブル名を指定する
  • 第3引数では接続元モデルIDを示す中間テーブル内のカラムを指定する
  • 第4引数では接続先モデルIDを示す中間テーブル内のカラムを指定する
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class Entry extends Model
{
public $timestamps = false;
public function tags()
{
return $this->belongsToMany('App\Model\Tag', 'entry_tags', 'entry_id', 'tag_id');
}
}

参考
https://laravel10.wordpress.com/2015/03/30/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AElaravel-5-33-%E5%A4%9A%E5%AF%BE%E5%A4%9A%E3%81%AE%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-%E3%83%A2%E3%83%87%E3%83%ABdb%E7%B7%A8/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA