Я пытаюсь создать систему дружбы с Laravel (я начинаю с нее), но я заблокирован отношениями. Здесь вещь: есть одна таблица "Пользователи" и одна таблица "Друзья", которая содержит следующие столбцы:
friends: id, user_id, friend_id, accepted.
Он выглядит как "Множество для многих", поэтому вот что я установил в классе User:
class User extends Eloquent {
function friends()
{
return $this->belongsToMany('User');
}
}
Но когда я пытаюсь:
$friends = User::find($id)->friends()->get()
У меня есть эта ошибка:
Base table or view not found: 1146 Table 'base.user_user' doesn't exist
Я хотел бы получить список друзей пользователя, не имеет значения, отправил ли пользователь приглашение или получил его. Таким образом, пользователь может установить ba на user_id или на friend_id, а затем я извлекаю данные другого пользователя в зависимости от этого столбца.
Любая идея? Спасибо'S!
EDIT: здесь используется код:
$usersWithFriends = User::with('friendsOfMine', 'friendOf')->get();
$user = User::find(Auth::id())->friends;
foreach($user as $item) {
echo $item->first()->pivot->accepted;
}