我在DB中有几个关系表。例如:
public class FooController : ApiController
{
public string Get(string name="Bar")
{
return $"Hello {name}"};
}
}
最后我需要将数据转换为此视图 - 订单:
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
- ...
某些字段将被隐藏(created_at等),并且所有模型都与其关联。
所以,我可以做类似
的事情[
{
"id": 1,
"status": "created",
"user": {"id":1, "name":"Max"},
"items":[{"id":1, "name":"Banana", "count": 2}, {...item two}]
},
{
.. order two
}
]
但问题是:
答案 0 :(得分:0)
您不想选择任何内容,只需使用...
$userOrders = Orders::with('orders.items')->where('user_id', $request->user()->id)->get();
您要隐藏的内容将设置在每个单独的模型上。
例如,假设用户的属性,您想要隐藏created_at
列。添加属性...
protected $hidden = ['created_at', 'updated_at']; // + any other fields you want to hide on the user model.