В этом примере думать, как клиент заказывает пункт из нашего магазина. Затем вы сможете отслеживать элементы в заказе, детали клиента, количество и т. Д. Таким образом, мы можем сделать это, используя следующие классы.
- Заказчик
- Заказать
- Order_Item
- Item
Итак, сначала мы должны упомянуть отношения базы данных в модели. например у клиента есть много заказов. Таким образом, в модели Customer указывается это как функция следующим образом.
порядок общественные функции() {
return $this->hasMany(App\Order);
}
Также в заказ Модель
публичной функции заказчика() {
return $this->belongsTo(App\Customer);
}
Whe n, разбирая файл миграции, вы должны оставить неподписанный столбец intiger для customer_id в таблице заказов. При сохранении данных вы должны сохранить соответствующий customer_id в деталях заказа. , например. Таблица заказов будет выглядеть следующим образом.
- идентификатор (без знака, aoutoincrement, целое число)
- customer_id (без знака, целое число)
- TOTAL_PRICE
- и т.д. И имейте в виду, что, чтобы сохранить автоматическое приращение идентификатора в таблице клиентов в таблице заказов Пользовательский ИД.Или пусть laravel сделает это за вас, используя удобный метод или, например,
$ order-> customer_id = $ customer-> id // предполагая, что у вас есть объект клиента, вышедший выше. Однако я предпочитаю сохранять идентификатор вручную, поскольку он более ясен для меня.
Поэтому, когда вы хотите найти клиента определенного порядка, оставьте его в таблице клиентов с идентификатором клиента. , например.
$ customer = Customer :: where ('id', $ order-> customer_id) -> first();
Если вы хотите найти заказы конкретного клиента вы можете сделать это, как,
$ orders_array = Order :: где ('customer_id', $ на клиента> идентификатор) -get();
Таким образом, вы можете легко пересечь обе стороны. Я не понял, что вы имели в виду под сводной таблицей. Являются ли таблицы Pivot в Excel, если вы могли бы описать больше.
Извините Используйте последнюю документацию https://laravel.com/docs/5.2/queries#where-clauses – HelpingHand
Спасибо за ваш ответ, но я пытаюсь получить данные в обратном порядке. Как получение родительских данных с использованием записи сводной таблицы. например Получение информации о продуктах из идентификаторов опорных таблиц. Можем ли мы сделать это в laravel? –
Таким образом, вы можете добавить столбец в сводную таблицу с указанием идентификатора продукта определенной строки. Я думаю, теперь вам нужны некоторые знания о связях с базами данных. Ниже приведен пример того, как создать такую взаимосвязь между таблицами Order Order и ordered_Items. – HelpingHand