0

私がやろうとしているのは、ピボット テーブルへの関係を追加することです。ピボット テーブルがロール テーブル上に独自の has_one リレーションを必要とするというユニークなシナリオがあります。ピボット テーブル専用の Eloquent モデルを作成する際に問題が発生することはありますか? また、このモデルを作成した場合、次のモデルを返す方法はありますか?

$user = User::where('id', '=', 1);
$pivot = $user->hasmanyexample()->pivot();

具体的には、次のことができるようになりたいです。

$user = User::where('id', '=', 1);
$pivot = $user->example()->pivot();

// class Example_User 
// public function role() { return $this->has_one('Role', 'role_id'); }
$role = $pivot->role(); 
4

1 に答える 1

4

まず、ピボットのモデルを作成する必要があります。私の場合、3 つのモデルがありました。

  • Edition->has_many_and_belongs_to('Format);
  • Format->has_many_and_belongs_to('エディション);

生成されたピボット テーブルは edition_format と呼ばれます。モデルを作成したとき、最初にディレクトリ Edition を作成し、そのフォルダーに format.php というファイルを作成する必要があるため、次のようになります。

-アプリケーション/モデル/エディション/format.php

次に、laravel が複数形 (edition_formats) を探し、リレーションが edition_format を必要とするため、テーブル名を変更する必要があるため、次のように追加する必要があります。

class Edition_format extends Eloquent

{

public static $table = "edition_format";


/* whatever you want */

}

その後、次のように呼び出すことができます: Edition_format::find(1);

于 2013-03-13T14:47:36.240 に答える