【问题标题】:laravel first0rNew Integrity Constraint Violationlaravel first0rNew 完整性约束违规
【发布时间】:2015-05-07 11:51:51
【问题描述】:

我正在使用 Laravel Eloquent 的 firstOrNew() 函数根据 3 个条件检索数据库记录:

$summary = $this->firstOrNew(array(
    'date' => $date,
    'product_id' => $product_id,
    'store_id' => $store_id,
     ));

我还有这 3 个字段的唯一复合键。

即使记录存在,该函数也不会检索它,所以当我更新属性并运行$summary->save() 时,我得到了精彩

SQLSTATE[23000]:违反完整性约束:1062 重复条目 >'2015-01-02-6-23' for key 'date_product_store_unique'

有什么想法吗?

Laravel 版本是 4.2。

【问题讨论】:

  • 您确定传递的变量中的数据存储是您所期望的吗?
  • 我已经调试了输入,事实上, firstOrNew() 函数使用该确切数据创建了一个新对象。我认为这个问题与唯一键不是主键有关,但我不确定。
  • Laravel 4 不支持复合键 laravel.io/forum/… 也许 Laravel 5 支持...我不知道

标签: laravel laravel-4 eloquent integrity


【解决方案1】:

Laravel 4.2 不支持复合键!

【讨论】:

    猜你喜欢
    • 2020-04-22
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 2020-01-31
    • 2021-03-22
    • 1970-01-01
    相关资源
    最近更新 更多