1
我在DB中有几张表,有关系。例如:流明如何从模型集合构建序列化结构?
user table
- id
- name
- email
- created_at
orders table
- id
- user_id
- status
- created_at
order_items table
- id
- order_id
- item_id
- count
items table
- id
- article
- name
- ...
最后,我需要的数据转换为这种观点 - 订单:
[
{
"id": 1,
"status": "created",
"user": {"id":1, "name":"Max"},
"items":[{"id":1, "name":"Banana", "count": 2}, {...item two}]
},
{
.. order two
}
]
有些字段将被隐藏(created_at等),并与它的关系选择的所有车型。
所以,我可以这样做
$userOrders = Orders::where([
'user_id' => $request->user()->id
])
->select(['id'])
->with('orders.items') // <<<< oops nested relations
->get();
但问题:
- 如何使用嵌套关系
- 如何离开的嵌套关系(最好是基于模型只所需的字段选择情景时,字段列表取决于情况)
是否可以设置个人隐藏的“规则”?让我解释一下,当选择/ v1 /订单的订单时,我希望返回模型没有created_ attr,但当/ v1/orderInfo时,我想返回所有模型属性。 – sharp