【问题标题】:Query Exception when creating a database record using laravel eloquent使用 laravel eloquent 创建数据库记录时出现查询异常
【发布时间】: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


【解决方案1】:

错误是由错误的字符编码引起的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2020-02-12
    • 2023-01-16
    相关资源
    最近更新 更多