我有一个成员,兴趣和兴趣成员表,其中1个成员可以有多个兴趣,1个兴趣可以由多个成员共享。测试interests_members表时更新100%。
interests_members表包含以下列:
我的问题是,我不知道使用什么语法来显示展示刀片中每个成员的兴趣?需要帮助解决下面代码块中的兴趣字段。
show.blade.php:
<h1>Member Details: </h1>
<p>Name: {{$member->name}}</p>
<p>Surname: {{$member->surname}}</p>
<p>ID Nr: {{$member->id_number}}</p>
<p>Language: {{$member->language->name}}</p>
<p>Interest: {{??????}}</p>
答案 0 :(得分:2)
确保您的关系到位:
class Member extends Model {
public function interests() {
return $this->hasMany(Interest::class);
}
}
class Interest extends Model {
public function members() {
return $this->belongsToMany(Member::class);
}
}
这意味着您可以在视图中执行(示例):
<p>Interests:</p>
<ul>
@foreach($member->interests as $interest)
<li>{{ $interest->name }}</li>
@endforeach
</ul>
这解释了多对多关系的工作原理:https://laravel.com/docs/5.6/eloquent-relationships#many-to-many
答案 1 :(得分:0)
您可以根据documentations。
在兴趣和会员模型中定义关系在定义关系后,您可以使用$yourMember->interests()
答案 2 :(得分:-1)
class MeemberInterest extends Model {
public function interest() {
return $this->hasMany('App\Interest');
}
public function member() {
return $this->hasMany('App\Member');
}
}
class Member extends Model {
public function interests() {
return $this->hasMany('App\MemberInterest')->with('interest');
}
}
class Interest extends Model {
public function members() {
return $this->belongsToMany(Member::class);
}
}