Laravel:如何在MySQL数据库中插入嵌套列表



我必须向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将返回属于$orderOrderItem的集合。

最新更新