Я сталкиваюсь с некоторыми проблемами при установлении отношений между моделями пользователей, кланов и членов кланов.У меня есть три модели, в которых я определил отношения как ...
Модель клана
public function clanMembers() {
return $this->hasMany('App\ClanMember', 'clan_id', 'clan_id');
}
Модель ClanMember
public function clan() {
return $this->belongsTo('App\Clan', 'clan_id', 'clan_id');
}
Я пытаюсь получить информацию о клане запрашиваемого пользователя и его других членов клана.Я использую следующее:
$clanMembers = ClanMember::find(Auth::user()->id)->clan()->with('clanMembers')->get();
Исходя из вышесказанного, я получаю правильный ответ.
"data": [
{
"id": 2,
"clan_leader_id": 3,
"clan_name": "@rockers1",
"clan_avatar": "",
"game_id": 1,
"max_members_count": 50,
"clan_id": "1505ccd15b01",
"created_at": "2019-05-04 04:31:44",
"updated_at": "2019-05-04 04:31:44",
"clan_leader_name": ""
"clan_members": [
{
"id": 2,
"user_id": 2,
"clan_id": "1505ccd15b01",
"role_id": 2,
"status": 0,
"created_at": "2019-05-04 04:33:03",
"updated_at": "2019-05-04 04:33:03"
}
]
}
]
Теперь я хочу установить связь между моделью пользователя и клана, которая имеетid и clan_leader_id
в качестве внешнего ключа для получения clan_leader_name
из таблицы User в модели клана и user_name
вместо user_id
в clan_members
.Член клана имеет user_id
и идентификатор пользователя в качестве внешнего ключа.