I want to get all the tags that belongs to their domains but I couldn't find an answer how I can do that.
I think the solution is something in this way:
$domain = Domains::findOrFail($id);
realation:
public function domains() { return $this->belongsToMany('App\Models\Domains', 'domain_tag', 'tags_id', 'domains_id')->withPivot('tags_id'); }
and in my view:
@foreach($domains as $domain)
<tr>
<td>{{ $domain->pivot->name }}</td>
</tr>
@endforeach
Thanks for taking time.
答案 0 :(得分:0)
我会建议这样的结构。如果您正确地遵循数据库命名约定,那么您不需要任何其他内容。您应该为标记和域创建不同的表/模型。然后你的数据透视表应该像domains_tags(id,domain_id,tag_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) {
//
}