Nova actionable_id不能为null

时间:2019-05-16 11:09:46

标签: php laravel laravel-5.8 laravel-nova

显然,我的所有create函数都无法正常工作,它们都会不断抛出:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column
'actionable_id' cannot be null (SQL: insert into `action_events` 
(`batch_id`, `user_id`, `name`, `actionable_type`, `actionable_id`, 
`target_type`, `target_id`, `model_type`, `model_id`, `fields`, 
`status`, `exception`, `updated_at`, `created_at`) values (8db303d9- 
39ca-4858-8d59-30ec1cd51cb7, 1, Create, App\Models\Site, ?, 
App\Models\Site, ?, App\Models\Site, ?, , finished, , 2019-05-16 
09:47:12, 2019-05-16 09:47:12))

基本上说'actionable_id' can not be 'null'

这是我桌子的一个例子:

    $table->bigIncrements('id');
    $table->string('guid')->unique();

    $table->string('site_title');

    $table->string('site_contents')->nullable();

    $table->integer('record_priority')->default('0');
    $table->integer('record_state')->default('1');
    $table->string('created_by');
    $table->string('updated_by')->nullable();

    $table->softDeletes();
    $table->timestamps();

我用guid生成了trait,但是为了使这项工作有效,我什至手动尝试了,没有运气。

当我使用tinker创建它时,它就可以正常工作。

1 个答案:

答案 0 :(得分:0)

我禁用了特征的自动递增功能,这阻止了模型为记录生成ID,这是我的问题所在:

public function getIncrementing()
{
    return false;
}

将其删除或进行以下更改可解决该问题:

public function getIncrementing()
{
    return true;
}

在使用Nova时,请事先防止或手动创建它。