大家早上好。
我遇到了无法解决的问题
我试图用Laravel在数据库中保存记录,问题是其中一个字段的名称中有一个点。
这是结构: struct table
我试着这样做:
$emqu_accountavg = DB::table('emqu_accountavg_resptime')->insert([
'company_id' => $company_id,
'#Month' => $item['#Month'],
'System' => $item['System'],
'APPLID' => $item['APPLID'],
'GUI/NoGUI' => $item['GUI/NoGUI'],
'Resptime avg. (ms)' => $item['Resptime avg. (ms)'],
]);
但这是我得到的错误:
QueryException in Connection.php line 647:SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Resptime avg. (ms)' in 'field list' (SQL: insert into `emqu_accountavg_resptime` (`company_id`, `#Month`, `System`, `APPLID`, `GUI/NoGUI`, `Resptime avg`.` (ms)`) values (1, 12017, BWP, APPL358552, GUI, 1581,4))
我也试过这样做:
emqu_accountavg_resptime::create([
'company_id' => $company_id,
'#Month' => $item['#Month'],
'System' => $item['System'],
'APPLID' => $item['APPLID'],
'GUI/NoGUI' => $item['GUI/NoGUI'],
'Resptime avg. (ms)' => $item['Resptime avg. (ms)'],
]);
不会发生错误并保存记录,但有点的记录会保留为空。 我检查了这个值:
$item['Resptime avg. (ms)']
好吧,问题是数据库中带有speckeld(point)的那个字段的名称
答案 0 :(得分:0)
你可以看到第一个错误,列laravel试图插入是'Resptime avg`。(ms)`它应该是`Resptime avg。 (MS)`。
您可以在此处找到如何正确转义值:
答案 1 :(得分:0)
我得到了答案,没有指定表格字段的名称,而是尊重存储表格的顺序,因此:
DB::insert('insert into emqu_accountavg_resptime values (?, ?, ?, ?, ?, ?)', [$company_id, $item['#Month'],$item['System'],$item['APPLID'],$item['GUI/NoGUI'],$item['Resptime avg. (ms)']]);
感谢大家的帮助。