Как правильно делать отношения в Laravel?

Доброго времени суток.

Есть таблицы users, codes, langs и themes.

Мне нужно связать users с codes, а codes с langs и themes.

В codes делаю так:
$table->integer('lang_id')->unsigned();
$table->foreign('lang_id')->references('id')->on('langs');
$table->integer('theme_id')->unsigned();
$table->foreign('theme_id')->references('id')->on('themes');
$table->integer('lang_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');


В модели User сделать hasMany(Codes::class);
А в Codes:
belongsTo(User::class)

Тоже самое в Langs и Themes, только belongsTo(Codes::class).

Правильно ли я делаю и вообще, можно ли обойтись простыми джоинами?

Суть в том, что юзер создает запись в codes, в которой привязаны langs и themes.
Чтобы потом на странице вывести данные из langs и themes по их айди.
Так же нужно вывести все записи юзера из codes в его профиль.
  • Вопрос задан
  • 372 просмотра
Пригласить эксперта
Ответы на вопрос 2
Вот, почитайте на досуге:

Тут очень простым языком говорится об отношениях в Laravel Eloquent.
Ответ написан
Всегда нужно использовать ORM, если таковая есть. В случае Лары всегда нужно использовать Eloquent. Это сильно упрощает разработку и делает код чище и читабельнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы