SQLSTATE [23000]: нарушение ограничения целостности: 1048 Столбец «invest_id» не может быть пустым - PullRequest
0 голосов
/ 26 апреля 2020

все

Пожалуйста, помогите с вышеуказанной ошибкой.

Я пытаюсь разместить данные в базе данных.

Это таблица ниже:

public function up() {
        Schema::create('investment', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->decimal('amount');
            $table->integer(**'invest_id')->unsigned()**;
            $table->integer('reference_id')->unsigned();`

Это код на контроллере

public function confirm(Request $request)
    {
        $this->validate($request, [

            'amount' => 'required|numeric',
            'plan_id' => 'required|numeric',

        ]);

        $interest = new Interest();
        $interest->invest_id = $request->invest_id;
        $interest->user_id = $user->id;
        $interest->save();

1 Ответ

0 голосов
/ 26 апреля 2020

Самый простой способ решить эту проблему - установить 'strict' => false, в файле config/database.php. Другой способ - добавить $table->integer('invest_id')->unsigned()->nullable();, чтобы сообщить базе данных, что значение может быть нулевым. Опция 'strict' => true, по умолчанию привела меня к некоторым проблемам в прошлом, как это было введено в Laravel 5.2.

Если вы запускаете новое приложение, вы можете go для строгого варианта, но вам придется настроить свою базу данных соответственно.

...