Добрый Всем. Столкнуля с проблемой. У меня есть таблицы, в контролере есть метод Index
public function index(Request $request, ApiResponse $response)
{
$limit = $request->get('limit');
if (!isset($limit)) $limit = 20;
$orders = Order::with('equipments')->paginate($limit);
if (count($orders) > 0) {
$response->setStatus('OK');
$response->setMessage('Данные успешно загружины');
$response->setData(['orders' => $orders]);
}
return $response->asJson();
}
Есть кастомный ответ
class ApiResponse extends Response
{
public $body = [
'status' => 'ERROR',
'message' => 'Произошла ошибка',
];
public function setStatus($value) {
$this->body['status'] = $value;
}
public function setMessage($value) {
$this->body['message'] = $value;
}
public function setData($value) {
$this->body['data'] = $value;
}
public function asJson()
{
return response()->json($this->body);
}
}
Вот какой я получаю ответ:
"data": {
"orders": {
"data": [
"id": 1,
"title": "Order 1",
"equipments": [
{
"id": 1,
"title": 'Equipment 1'
"pivot": {
"wing_id": 1,
}
}
],
]
}
}
Как мне реализовать такой вот результат
Хочу получить так:
"data": {
"orders": {
"data": [
"id": 1,
"title": "Order 1",
"equipments": [
{
"id": 1,
"title": 'Equipment 1'
"pivot": {
"wing": {
"id": 1
"title": Right
}
Model:
public function equipments()
{
return $this->belongsToMany(Equipment::class, 'equipment_order')->withPivot([
'wing_id',
]);
}