Я использую Laravel 7.x, и у меня есть две модели (CustomerOrder
, состоящие из множества CustomerOrderLines
) с отношениями родитель-потомок. Родительская (CustomerOrder
) модель имеет поле типа json среди своих полей.
CustomerOrderResource. php:
return [
'id' => $this->id,
'wfx_oc_no' => $this->wfx_oc_no,
'qty_json' => json_decode($this->qty_json)
];
CustomerOrderLineResource. php:
return [
'id' => $this->id,
'description' => $this->description,
'customer-order' => $this->customerOrder
];
Запрос CustomerOrder-> GET возвращает правильно отформатированные данные как:
"data": {
"id": 11,
"wfx_oc_no": 12,
"qty_json": {
"L": "20",
"M": "30",
"S": "20",
"XL": "100"
}
}
Но для CustomerOrderLine-> GET ответ будет следующим:
"data": {
"id": 15,
"description": "test desc",
"customer-order": {
"id": 11,
"wfx_oc_no": 12,
"qty_json": "{\"L\": \"20\", \"M\": \"30\", \"S\": \"20\", \"XL\": \"100\"}"
}
}
json поле неправильно отформатировано. Кажется, это не go через класс ресурсов. Пожалуйста, дайте мне знать, как я могу исправить это?
FYI
CustomerOrderLine. php:
public function parent()
{
return $this->belongsTo(CustomerOrder::class);
}