0

я создал три таблицы:Как выбрать отношения для таблиц в Laravel 5.2?

Student(ID, username), Teacher(ID, name) and Rating(ID, rating) 

На моей рейтинговой таблице я хочу записать рейтинг студента к конкретному учителю. Каждый студент может оценивать учителя ровно один раз. Он может оценивать других учителей, но не того же учителя.

В этом случае, какие отношения подойдут лучше? Я новичок в Ларавеле.

+0

Добро пожаловать в StackOverflow. Пожалуйста, прочитайте нашу страницу [ask], чтобы узнать, как улучшить свой вопрос. Большие вопросы, как правило, обеспечивают более быстрые и лучшие ответы сообщества. Хорошим местом для начала является добавление [mcve] для других, чтобы быстрее устранять неполадки. – ochi

ответ

1

Поскольку каждый студент может оценивать учителя только один раз, самым простым было бы добавить student_id и teacher_id столбцы в таблицу Rating и использовать их как внешние ключи в отношениях.

Затем вы можете определить отношения в модели студента:

class Student extends Model 
{ 
... 
    // Ratings given by the student 
    public function ratings() 
    { 
     return $this->hasMany('App\Rating'); 
    } 
} 

и Учитель модель:

class Teacher extends Model 
{ 
... 
    // Ratings received by the teacher 
    public function ratings() 
    { 
     return $this->hasMany('App\Rating'); 
    } 
} 

Подробнее на один-ко-многим:

https://laravel.com/docs/5.3/eloquent-relationships#one-to-many

+0

Правильно один ко многим подходит для моего требования. Не могли бы вы просто объяснить мне немного о том, что мне нужно делать после определения отношений на моей модели? – Sumit

+0

Это зависит от того, что вам нужно сделать. Попробуйте сформулировать это как конкретный вопрос. Это действительно не то место, где можно дать полный учебник. Есть более эффективные источники для такой информации, например. https://laracasts.com/ – Matey

+0

Хорошо. В любом случае спасибо за помощь ур – Sumit

Смежные вопросы