У меня есть таблица members, Interests и Interest_members, в которой один участник может иметь несколько интересов, а один интерес может быть общим для нескольких участников. При тестировании таблица Interest_members обновляется на 100%.
В таблице Interest_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>






Убедитесь, что у вас налажены отношения:
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
вы можете определять отношения в моделях «Интерес» и «Участник» на основе документация.
после определения отношений вы можете получить интересы Участников с помощью $yourMember->interests()
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);
}
}
Хорошо, кто-нибудь скажет мне, как работало принятое решение? Его, таблица интересов и таблица участников не связаны напрямую, но связаны через третью таблицу member_interest. Итак, как работает принятый ответ?