Общая ошибка: 1364 Поле 'Department_id' не имеет значения по умолчанию - PullRequest
0 голосов
/ 01 ноября 2019

вот ошибка

SQLSTATE [HY000]: общая ошибка: 1364 Поле 'Department_id' не имеет значения по умолчанию (SQL: вставить в ms_user (name, username, role, email, password, updated_at, created_at)

модель ms_user

protected $fillable = [
        'department_id','name', 'email', 'password','username','role',
    ];

функция создания:

    {
        return ms_user::create([
            'name' => $data['name'],
            'username' => $data['username'],
            'role' => $data['role'],
            'email' => $data['email'],
            'department_id' => $data['department_id'],
            'password' => bcrypt($data['password'])
        ]);
    }

функция проверки:

 protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|string|max:255',
            'username' => 'required|string|max:255',
            'role' => 'required|in:user,admin',
            'department_id' => 'required|string',
            'email' => 'required|string|email|max:255|unique:ms_user',
            'password' => 'required|string|min:6|confirmed',
        ]);
    }

department_id - это раскрывающееся меню, содержащее данные из таблицы ms_department, department_id становится внешним ключом в таблице ms_user и в качестве основноговведите ms_department

1 Ответ

0 голосов
/ 01 ноября 2019

Это выглядит так, что вы пытаетесь создать пользователя с полем department_id, установленным в ноль. В вашем контроллере он показывает, что вы передаете $data['department_id'] Я предполагаю, что значение comme из Request Object. Но так как это поле не имеет никакого значения, когда выполняется код для создания user, оно отправляет и пустое значение в эту базу данных. Таблица, которая содержит данные о пользователях, не позволяет этому полю быть пустым.

Вы решаете это, обновляя свою миграцию, чтобы разрешить null для departement_field, как это

$table->integer('department_id')->nullable();

Или выможете проверить, не равен ли $data['department_id'] ноль, но используя debug($data) в вашем контроллере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...