Таблицы ссылок в Laravel 5
Я пишу приложение, для которого требуется 2 таблицы, связанные вместе с помощью таблицы ссылок, поэтому всего 3 таблицы.
//-------
Users
//------
id,
name,
email,
password
//----
UserAccountType
//----
id,
name,
description
//---
UserAccountLink
//---
id,
user_id,
type_id,
Пользователь может иметь несколько типов учетных записей (Администратор, Обычный, Разработчик)... Кроме того, я установил ограничения для внешних ключей.
Единственная проблема в том, что я не понимаю, как бы я их связал, и я попробовал следующее:
class User extends Model {
// implementation
public function account_type()
{
$this->hasMany('UserAccountTypeLink', 'id', 'id');
}
}
class UserAccountType extends Model {
// Implementation
}
class UserAccountTypeLink extends Model {
// Implementation
public function user_account()
{
return $this->hasOne('UserAccountType', 'type_id', 'id');
}
}
Мой ожидаемый результат заключается в том, что, например, у пользователя 1 есть учетная запись "Администратора" и "Разработчик" вернулся. Но на данный момент я, похоже, не могу получить желаемый результат. Есть идеи, где я ошибаюсь?
1 answers
Вам не нужна модель для промежуточной таблицы UserAccountTypeLink. Посмотрите здесь, чтобы получить дополнительную информацию о том, как создать отношение "многие ко многим" в красноречивом: http://laravel.com/docs/5.1/eloquent-relationships#many-to-many