如何将数组值保存为mysql数据库中的每条记录
如何将以下数组值保存到我的sql表中?如何将数组值保存为mysql数据库中的每条记录
Array (
[0] => "/path/to/file/file_name1.jpeg"
[1] => "file_name1.jpeg"
)
Array (
[0] => "/path/to/file/file_name2.jpeg"
[1] => "file_name2.jpeg"
)
以下是我的表结构,
id - int - auto inc
path - varchar(200)
name - varchar(50)
在此先感谢。
您可以插入数据的阵列insert()
方法:
$data = [
['path' => '/path/to/file/file_name1.jpeg', 'name' => 'File 1'],
['path' => '/path/to/file/file_name2.jpeg', 'name' => 'File 2'],
['path' => '/path/to/file/file_name3.jpeg', 'name' => 'File 3'],
];
Model::insert($data);
或者:
....
DB::table('some_table')->insert($data);
您可以使用foreach
和create
方法:
foreach ($array as $key => $value) {
ModelName::create(['path' => $value[0], 'name' => $value[0]]);
}
记得要加path
和name
在您模型的可填写属性中。
这会工作,但是这会为每个插入创建数据库查询。 –
当你有一个“创建”方法的观察者时,它是完整的。 –
您可以添加多个值与以下
$data = array(
array('name'=>'value', 'path'=>'value'),
array('name'=>'value', 'path'=>'2048'),
//...
);
Model::insert($data);
你可以找到更多在这里 https://laravel.com/docs/5.3/queries#inserts
如果你想更新时间戳,你将不得不通过 'created_at'=> $ now, 'modified_at'=> $ now 希望它能帮到你 – Zain
感谢@alexey,我返回从函数数组值。我通过返回的值来保存到数据库中。请建议我如何将该数组值保存到数据库中。 – Haripriya
我想你应该创造新的问题,描述情况并发布一些代码,所以我们也可以帮助你。 –