Выполните следующие действия:
1. Создание моделей и добавление отношений между ними.
Вы можете создавать модели для транзакции, заказа и продукта, используя phpartisan.
php artisan make:model Transaction
php artisan make:model Order
php artisan make:model Product
настроить их в соответствии с вашей структурой таблиц mysql.
Добавление связей.
Модель транзакции
public function order(){
return $this->hasOne(Order::class, 'transaction_id', 'id');
}
ПорядокМодель
public function transaction(){
return $this->belongsTo(Transaction::class);
}
public function products(){
return $this->hasMany(Product::class, 'id', 'product_id');
}
Модель продукта
public function order(){
return $this->belongsTo(Order::class);
}
2. Создание контроллера для обработки результатов.
Вы можете создать контроллер с помощью phpartisan.
php artisan make:controller TransactionController -r
Настройка нашего контроллера.
public function TransactionDetails($transactionID){
$transaction = Transaction::where('id',$transactionID)->firstOrFail();
$order = $transaction->order;
$products = $order->products;
$result = array();
$result['transaction'] = $transaction;
$result['transaction']['order'] = $order;
$result['transaction']['order']['products'] = $products;
return response()->json($result);
}
Это должно работать и дать вам желаемый результат, если возникнет какая-либо ошибка, дайте мне знать.