2017-05-05 10 views
-1

モデルから3番目のテーブルのデータを取得する方法は?中間テーブルLaravelからデータを取得するには?

モデルはPrototypePrototypeFieldです。 PrototypeFieldがある

id | name 

Prototypeがある

id | name 

テーブルから名前を取得する方法:

prototype_id | field_id 

はまた、フィールドの名前を含むテーブルFieldありFieldスルーモデル 'Protot YPE」PrototypeFieldによるとPrototype相対場所:

Prototype.id = PrototypeField.prototype_id 

ので、Prototype缶は、1つまたは多くのPrototypeFieldを持っています。

+0

あなたのモデルでは、あなたのセットアップの関係をお持ちですか? –

+0

この場合のリレーションシップの設定方法を説明できますか? – Garaman

答えて

0

あなたのプロトタイプモデルは、それが例えばに関連する必要があるフィールドを指定し、その中関係が必要です:あなたのフィールドモデルは、例えば、それはに関し、プロトタイプを指定するための関係をも含まれている必要があり

public function fields() 
{ 
    return $this->belongsToMany('App\Fields'); // Change to location of fields model 
} 

を:

public function prototypes() 
{ 
    return $this->belongsToMany('App\Prototypes'); // Change to location of prototype model 
} 

あなたはこれらの設定が完了したら、あなたは、次のプロトタイプを使用してに属しているフィールドを選択することができます:

Prototype::first()->fields; //This selects the first prototype and gets the associated fields. 

なりの逆数:

Fields::first()->prototypes //This selects the first field and get associated prototypes. 

あなたはLaravelモデルのドキュメントを読むことによって、たくさんの情報を見つけることができます - https://laravel.com/docs/5.4/eloquent-relationships

関連する問題