gpt4 book ai didi

php - Model::create($dataarray) 删除随机数据行

转载 作者:行者123 更新时间:2023-11-29 18:47:02 24 4
gpt4 key购买 nike

我正在使用 laravel 的 Model::create() 函数在数据库中创建一个新条目,但我传递到该函数的数组失败,因为它删除了其中一行。

这是我的数组全静态。这也符合我的数据库表的样子。

$data = [
'terminal_id' => 222,
'batch_id' => 1,
'transactiondate' => '2323',
'store' => '2323',
'hostcode' => '2323',
'pan' => '2323',
'operation' => '2323',
'posdatacode' => '2323',
'amount' => '2323',
'currency' => '2323',
'acquirer' => '2323',
'scheme' => '2323',
'attemptsconn' => '2323',
'transactionresult' => '2323',
'merchantcode' => '2323',
'terminal' => '2323'
];

以及将其插入数据库的行

Transaction::create($data);

运行此代码时的SQL错误代码:

SQLSTATE[HY000]: General error: 1364 Field 'amount' doesn't have a default value (SQL: insert into `transactions` (`terminal_id`, `batch_id`, `transactiondate`, `store`, `hostcode`, `pan`, `operation`, `posdatacode`, `currency`, `acquirer`, `scheme`, `attemptsconn`, `transactionresult`, `merchantcode`, `terminal`, `updated_at`, `created_at`)

现在,如果您查看代码,您会发现数组的 amount 部分丢失了。

我尝试过什么:

  • 将入口代码格式化为 Transaction::create(['row' => 'value']) 而不是我正在做的事情。这会返回相同的结果。
  • 通过执行 new Transaction 创建新交易,然后使用 $transaction->value 插入数据。这有效。

我一定错过了一些明显的东西,因为这不起作用。请帮帮我。

最佳答案

错误:

"Field 'amount' doesn't have a default value"

由于当数组中缺少金额字段时,您无法为数据库中的金额字段设置默认值,会抛出错误。所以设置默认值或者设置Null。

关于php - Model::create($dataarray) 删除随机数据行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44547542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com