Nova actionable_id не может быть нулевым - PullRequest
1 голос
/ 16 мая 2019

Видимо, ни одна из моих функций создания не работает, они все продолжают выдавать:

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 Ответ

1 голос
/ 16 мая 2019

Я отключил автоинкремент от признака, который мешал модели генерировать идентификатор для записи, вот где моя проблема была:

public function getIncrementing()
{
    return false;
}

Устранение проблемы или замена на следующую проблему:

public function getIncrementing()
{
    return true;
}

Запретите это заранее, когда вы работаете с Nova, или создайте его вручную.

...