【发布时间】:2021-05-07 11:47:06
【问题描述】:
我遇到了一个奇怪的错误。 在一个 laravel 项目中,我正在读取一个 CSV 文件。在我的 Controller 中,我正在解析 CSV 并为 mysql 数据库 创建数据库记录。 我将 CSV 行转换为单独的数组,这些数组位于一个大数组 -> 二维数组中。到现在为止还挺好。 当迭代我的数组时,第一次迭代工作得很好,我得到了预期的数据库记录。但是,在第二次迭代期间会引发查询异常。 堆栈跟踪将我引导到我为模型的属性分配双精度值的行。
Transaction::firstOrCreate([
'date' => $date,
'transaction_type' => $the_big_array[$i][2],
'db_counter_party_id' => $db_counter_party_id,
'amount' => $amount,
'currency' => $the_big_array[$i][6],
'usage' => $the_big_array[$i][7],
'category' => "none",
'balance' => $balance_after_transaction,
]);
最后一个分配导致错误。变量 balance_after_transaction 是 double 类型,根据之前的交易计算。所以它不是直接从 CSV 中检索的。 有人知道发生了什么吗?
【问题讨论】:
-
哪个查询异常?消息说什么?
-
Illuminate\Database\QueryException
-
消息很重要。它说的查询有什么问题?
-
消息没有说别的
-
这很有趣。异常在堆栈跟踪中没有消息?
标签: php mysql laravel eloquent