Общая ошибка: поле ‘title’ 1364 не имеет значения по умолчанию

#sql #laravel #eloquent

#sql #laravel #красноречивый

Вопрос:

У меня очень странная проблема при попытке создать новый элемент. Код и ошибка ниже.

Mugration:

 Schema::create('inventory_departments', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->integer('parent_id')->unsigned()->default('1');
            //$table->timestamps();
            
            $table->foreign('parent_id')->references('id')->on('inventory_departments');
        });
  

Модель:

 protected $fillable = [
            'title',
            'parent_id',
        ];
  

Контроллер:

 $data = [
        'title' => 'test',
        'parent_id' => '3',
    ];

    $result = InventoryDepartment::create($data);
  

И я получаю такую ошибку:

 SQLSTATE[HY000]: General error: 1364 Field 'title' doesn't have a default value (SQL: insert into `inventory_departments` () values ())
  

Комментарии:

1. В приведенном выше коде нет ошибок

Ответ №1:

Вы не должны передавать $data для создания?

 $result = InventoryDepartment::create($data);
  

Комментарии:

1. Проблема сохраняется?

2. Да, использование переданных данных или использование этих данных приводит к тому же результату.

3. Можете ли вы поделиться большей частью своего кода? Модель и контроллер