2016-05-17 8 views
0

自分のドメインに属するすべてのタグを取得したいのですが、どうすればよいのか答えが見つかりませんでした。Laravel 5のピボットテーブルからデータを取得するにはどうすればよいですか?

私は解決策は、このように何かあると思う:

$domain = Domains::findOrFail($id); 

realation:

public function domains() { return $this->belongsToMany('App\Models\Domains', 'domain_tag', 'tags_id', 'domains_id')->withPivot('tags_id'); } 

と私の見解で:時間を割いて

  @foreach($domains as $domain) 
       <tr> 
        <td>{{ $domain->pivot->name }}</td> 
       </tr> 
      @endforeach 

感謝。

答えて

0

このような構造を提案します。 db命名規則に正しく従っているなら、他のものは必要ありません。タグとドメインのために異なるテーブル/モデルを作成する必要があります。ピボットテーブルは、ドメインテーブル(ID、ドメインID、タグID)のようになります

class Domain extends Model 
{ 

    public function tags(){ 
     return $this->belongsToMany('App\Tag'); 
    } 
} 



class Tag extends Model 
{ 

    public function domains(){ 
     return $this->belongsToMany('App\Domain'); 
    } 
} 


$domain = App\Domain::find(1); 

foreach ($domain->tags as $tag) { 
    // 
} 
+0

私はすでにそれを持っています。ドメインに属するすべてのタグが必要なのです。私はすべてのタグが正しいdomain_idに属していることを私に与えることができるlaravel関数があると思う – WellNo

+0

$ domain->タグはあなたにこの特定のドメインに属していて、すべてではないタグを与えます – Ankit

関連する問題