gpt4 book ai didi

PHP 如何使用 laravel 5 将数据从数组保存到 mysql

转载 作者:可可西里 更新时间:2023-11-01 06:42:49 25 4
gpt4 key购买 nike

我从 POST 获取“圆柱体”数据数组中的一个数组:

Array
(
[serie] => Array
(
[0] => 1234
[1] => 3545
)

[seriesap] => Array
(
[0] => 1234234
[1] => 345345
)

[type] => Array
(
[0] => 4546
[1] => csdfwe
)

[admission] => Array
(
[0] => 04-05-2015
[1] => 04-05-2015
)

[invoice] => Array
(
[0] => fei76867
[1] => feiasodjf
)
)

现在,键内的字段:serie、type、admission 等不会改变,但这些键内的信息会发生变化,我的意思是那里甚至可能有 15 个项目。

最后我需要保存到数据库:

$cylinder            = new Cylinder();
$cylinder->serie = ??;
$cylinder->seriesap = ??;
$cylinder->type = ??;
$cylinder->admission = ??;
$cylinder->invoice = ??;
$cylinder->save

我怎样才能完成这个任务并保存所有的气瓶?

我已经尝试了所有我认为没有任何效果的 foreach。

/编辑/

这是我目前所做的:

$cyldata = $_POST['cylinder']; //this is the post from top.

$num_elements = 0;

while($num_elements < count($cyldata['serie'])){
$cylinder = new Cylinder();
$cylinder->serie = $cyldata['serie'][$num_elements];
$cylinder->type = $cyldata['type'][$num_elements];
$cylinder->admission = $cyldata['admission'][$num_elements];
$cylinder->seriesap = $cyldata['seriesap'][$num_elements];
$cylinder->save
$num_elements++;

}

但感觉很难看,所有这些扑救都感觉不对。如果你问我,这是肮脏的解决方案。

最佳答案

首先,您需要将输入数据转换为另一种格式:

$cyldata = $_POST['cylinder']; //this is the post from top.

$num_elements = 0;

$sqlData = array();

while($num_elements < count($cyldata['serie'])){
$sqlData[] = array(
'serie' => $cyldata['serie'][$num_elements],
'type' => $cyldata['type'][$num_elements],
'admission' => $cyldata['admission'][$num_elements],
'seriesap' => $cyldata['seriesap'][$num_elements],
'invoice' => $cyldata['invoice'][$num_elements], // you miss this field, aren't you?
'created_at' => Carbon\Carbon::now(), // only if your table has this column
'updated_at' => Carbon\Carbon::now(), // only if your table has this column
);
$num_elements++;
}

其次,使用 Fluent 查询构建器进行批量插入:

DB::table('table_name')->insert($sqlData);

注意:created_atupdated_at 如果您的表有这些字段,则会出现在这里。使用 Eloquent 模型时,这些字段会自动更新。但是,我们没有使用 Eloquent,因此我们必须手动为这些字段分配值。

关于PHP 如何使用 laravel 5 将数据从数组保存到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30496740/

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