Я учу php и laravel.Я делаю грубое испытание для компании, и если я сдаю, меня могут принять за присоединение к команде разработчиков.Одним из требований теста crud является то, что участник (который является основным объектом) может иметь один язык из списка нескольких языковых опций.Очевидно, что один язык может быть связан с несколькими членами.
Так что, если я правильно читаю документы Laravel, внешний ключ между основной моделью (Member) и вторичной моделью (Language) будет установлен автоматически.Мой вопрос заключается в том, как установить отношения логически.
Один из столбцов в моей таблице участников - это столбец language_id, а таблица языков состоит из id (очевидно) и названия языка.
Согласно примерам отношения должны выглядеть примерно так:
Модель члена:
class Member extends Model
{
public function language()
{
return $this->hasMany('App\Language');
}
}
Модель языка:
class Language extends Model
{
public function member()
{
return $this->belongsTo('App\Member');
}
}
Но имеет ли это смысл?Модель Member по существу говорит, что член может иметь несколько языков.Но это не тот случай.У участника может быть только один язык.
Не могли бы вы помочь мне прояснить этот вопрос.
Спасибо