Как добавить модель в другую модель в laravel?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как добавить модель в другую модель в laravel?

Сообщение Anonymous »

У меня не так уж много опыта в Laravel. Я создаю панель управления заказами и как бы застрял здесь. Я хочу использовать здесь лучшие практики для достижения результатов. У меня есть 5 таблиц (схемы упрощены):

Код: Выделить всё

1. User (id, username, email)
2. Orders (id, user_id, order_type)
3. vector_order(id, order_id)
4. digitizing_order(id, order_id)
5. graphics_order(id, order_id)
где в таблицах 3, 4 и 5 внешний ключ (order_id) ссылается на Order (id) . Заказы имеют связь один к одному с векторными, графическими и оцифрованными таблицами.
Чтобы получить подробную информацию о заказе, мне сначала нужно запросить таблицу заказы, а затем на основе значения order_type (числового значения 0, 1, 2) мне нужно получить дополнительную информацию об этом заказе из таблиц, определенных в пункте 3, 4, 5.
Чтобы получить информацию о пользователе заказа, я использую метод OrderModel::with('user'), который работает нормально, если я получаю только Order + информацию о пользователе, но я не могу получить данные из таблиц vector_order, digitizing_order иgraphic_order таким образом.
Сейчас я делаю это так путь:

Код: Выделить всё

public function getOrderDetails($orderId){
$orderInfo = OrderModel::with('user')->find($orderId);
$detail = [$orderInfo];

switch($orderInfo->order_type){
case 0:
array_push($detail, VectorModel::find($job->id));
case 1:
array_push($detail, DigitizingModel::find($job->id));
case 2:
array_push($detail, GraphicModel::find($job->id));
default:
break;
}

return $detail;

Похоже, это неправильный путь. Пожалуйста, помогите мне написать это лучше.

Подробнее здесь: https://stackoverflow.com/questions/779 ... in-laravel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»