【发布时间】:2021-06-20 13:42:08
【问题描述】:
我有一张包含我的网站设置的表格:
我想使用来自表单的数据一次更新所有记录。 数据如下所示:
$data = [
"brand" => "bbb"
"mail" => "kontakt@aaa.pl"
"phone" => "111"
"site-name" => "test"
];
现在我想用关联数组的键和它的值来更新它。 我试过了:
DB::table('settings')->update($data);
但是有一个错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'brand' in 'field list' (SQL: update `settings` set `brand` = bbb, `mail` = kontakt@aaa.pl, `phone` = 111, `site-name` = test)
显然它认为brand 是一个列名。
所以我将$data 转换为这个数组:
$data = [
0 => [
"name" => "brand"
"value" => "bbb"
]
1 => [
"name" => "mail"
"value" => "kontakt@aaa.pl"
]
2 => [
"name" => "phone"
"value" => "111"
]
3 => [
"name" => "site-name"
"value" => "test"
]
];
现在错误是:
SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list' (SQL: update `settings` set `0` = {"name":"brand","value":"bbb"}, `1` = {"name":"mail","value":"kontakt@aaa.pl"}, `2` = {"name":"phone","value":"111"}, `3` = {"name":"site-name","value":"test"})
所以现在它认为数组中每一行的索引是列名,在这个地方我不知道该怎么做...... 谁能帮帮我?
【问题讨论】:
-
我想这个问题在这里已经有了答案:stackoverflow.com/questions/25674737/…>
-
你应该清楚你的意图。
标签: php mysql sql laravel laravel-8