我必须向Laravel创建的API发送下面的列表,我有两个表,第一个是order包含id和user_id,第二个是order项包含详细信息:
[
{
'id' : 1,
details :{
{
'item' : 'PC',
'qty' : 3
},
{
'item' : 'TV',
'qty' : 2
}
}
}
]
我把它们作为这样的帖子发送(使用flutter(:
send_order(items ) async {
var url = 'http://10.0.2.2:8000/api/user/order';
var response = await http.post(url ,body : items);
var data = jsonDecode(response.body);
return (data);
}
我在Laravel也有这个控制器:
public function order(Request $request){
}
我想把它们插在一起,但我不知道如何做
您可以将嵌套数据插入JSON列中。然后,为了方便起见,您可以使用JSON where子句。
不过,我不建议这样做,因为这里正确的数据库设计是在order
表和order_items
表之间创建一对多关系。一个Order
将具有多个OrderItems
。
在OrderItem.php
:中
public function order()
{
return $this->hasMany(OrderItem::class);
}
在Order.php
:中
public function orderItems()
{
return $this->belongsTo(Order::class);
}
然后,使用$order->orderItems
将返回属于$order
的OrderItem
的集合。