Код: Выделить всё
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)
Чтобы получить подробную информацию о заказе, мне сначала нужно запросить таблицу заказы, а затем на основе значения 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
Мобильная версия