【问题标题】:Laravel cannot set id on eloquent creating eventLaravel 无法在 eloquent 创建事件上设置 id
【发布时间】:2019-09-27 09:32:23
【问题描述】:

我正在尝试为我的模式提供一个自定义 ID(无自动增量)。所以我已经覆盖了我的模态的boot 方法。创建事件是这样使用的:

public static function boot()
{
    static::creating(function ($modal) {
        $modal->id = $myID;
        return true;
    });
}

现在,当我在保存条目后尝试恢复 ID 时,新条目的 ID 始终为 0

$modal = new Modal;
$modal->myValue = $myValue;
$modal->save();

dd($modal->id) // This will returns always 0

奇怪的是,记录成功写入了id正确的数据库。

我的代码有什么问题?

编辑: 它没有返回null。它正在返回0

【问题讨论】:

  • 试试这个:$modal->getKey();
  • 也是null
  • 您的 id 可以填写吗?
  • 你需要添加这个:public $incrementing = false;
  • 请发表您的想法作为答案。所以你可以赢得你的声誉:)

标签: php laravel eloquent laravel-6


【解决方案1】:

您需要通过在模型中将属性 $incrementing 设置为 false 来禁用自动增量。

public $incrementing = false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2016-07-19
    • 2016-11-04
    • 1970-01-01
    • 2020-11-11
    相关资源
    最近更新 更多