gpt4 book ai didi

php - 如何通过 Laravel 中数组中的对象保存数据

转载 作者:行者123 更新时间:2023-11-29 03:22:37 26 4
gpt4 key购买 nike

我是 laravel 的新手。我正在通过 Postman 发送此类回复。在 Laravel Controller 中,我在 $request 中得到了这个响应。

[{
"id": 40,
"cname": "Ramesh",
"constraint_value": "",
"r_id": "6",
"rtype_id": null,
"deleted_at": null,
"created_at": null,
"updated_at": null,
"input": "111",
"input2": "111"
}, {
"id": 45,
"cname": "Suresh",
"constraint_value": "",
"r_id": "6",
"rtype_id": null,
"deleted_at": null,
"created_at": null,
"updated_at": null,
"input": "222",
"input2": "222"
}, {
"id": 49,
"cname": "Raj",
"constraint_value": "",
"r_id": "6",
"rtype_id": null,
"deleted_at": null,
"created_at": null,
"updated_at": null,
"input": "333",
"input2": "333"
}]

我遇到了困难

  1. 如何计算我在 $request 中接收到的数组中对象的总数。我使用过 count($request) 或 sizeOf($request) 但它只返回 1,尽管有 3 个数组。在这方面帮助我。

  2. 如何通过这样的数组将数据保存到数据库中。我想保存input和input2的值。

最佳答案

可能晚了,但将来可能会帮助某人。首先。您需要像这样遍历对象数组

foreach($request->all() as $key => $value){
$model = new Model();
$model->attribute1 = $value['attribute1'];
$model->attribute2 = $value['attribute1'];
$model->attributeN = $value['attributeN']; // where N is infinite # of attr
$model->save();
}

所以发生的事情是每次循环迭代时,它都会在循环内创建一个 Model 类型的新对象,并从数组键值中分配对象属性并持久保存在 中DB 并重复,直到数组中的所有对象都完成。

$model = new Model();

是必要的,以便每次循环迭代它都会创建一个新对象并持续存在。如果您没有在每次 N 迭代发生时创建它,则循环可能只保存一个对象。如果您在构造函数中创建模型对象,并且在构造函数运行时实例化一次,则可能会发生这种情况。

希望这对您有所帮助。

关于php - 如何通过 Laravel 中数组中的对象保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41422790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com