Как представить две таблицы, которые имеют связь между ними, как в случае с таблицей «sales» и «sales_content», используя модель laravel

#eloquent #laravel-models

#красноречивый #laravel-модели

Вопрос:

В моей базе данных есть две таблицы: одна для информации о «продажах», а другая для «содержимого продажи» (товаров). Каков наилучший способ представить это с использованием моделей laravel? Например, лучше ли создавать модель для каждой таблицы или мы можем использовать только одну?

Ответ №1:

Модель для каждой таблицы — вы не можете использовать одну модель для нескольких таблиц.

Laravel пытается вывести имя таблицы из названия модели на основе множественного числа в нижнем регистре — поэтому, если ваша модель называется Sale, она будет предполагать, что таблица называется «продажи». Если ваша таблица представляет собой что-то другое, вы определили таблицу в модели с помощью :

 protected $table = "online_sales";
 

Затем вам нужно будет определить отношения между двумя моделями — документация здесь: https://laravel.com/docs/8.x/eloquent-relationships

Комментарии:

1. Спасибо Беннетту.

2. Это Джайлс (сначала личное имя, затем фамилия для меня) — добро пожаловать. Пожалуйста, отметьте ответ как принятый ответ, если он вас устраивает.

3. Я сделаю это сейчас