Ошибка PHP в Laravel при вставке данных через sqlite

Ошибка PHP в Laravel при вставке данных через sqlite

12.03.2020 05:54:50 Просмотров 12 Источник

Я изучаю Laravel и работаю в php artisan, но я продолжаю получать эту ошибку:

Illuminate/Database/QueryException с сообщением ' SQLSTATE[23000]: Нарушение ограничения целостности: 19 NOT NULL constraint failed: профили.url (SQL: insert into "profiles" ("title", " description", "user_id"," updated_at"," created_at") значения (Cool, Desc, 1, 2020-03-12 02:03:16, 2020-03-12 02:03:16))'

Я прикрепляю профиль к пользователю и моя пользовательская таблица содержит содержимое:

>> User::all()
=> Illuminate\Database\Eloquent\Collection {#2992
     all: [
       App\User {#2993
         id: "1",
         name: "Test User1",
         email: "test1@test.com",
         username: "test1",
         email_verified_at: null,
         created_at: "2020-03-12 02:01:08",
         updated_at: "2020-03-12 02:01:08",
       },
     ],    }

Вот что я ввел в PHP Artisan

>>> $profile = new \App\Profile();
=> App\Profile {#2987}
>>> $profile->title = 'Cool Title';
=> "Cool Title"
>>> $profile->description = 'Desc';
=> "Desc"
>>> $profile->user_id = 1;
=> 1
>>> $profile->save();

Profiles_table.РНР

class CreateProfilesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('profiles', function (Blueprint $table) {
            $table->bigIncrements('id')->nullable;
            $table->unsignedBigInteger('user_id')->nullable;
            $table->string('title')->nullable;
            $table->text('description')->nullable;
            $table->string('url')->nullable;
            $table->timestamps();

            $table->index('user_id');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('profiles');
    }

}

Create_users_table.РНР

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name')->nullable();
            $table->string('email')->unique();
            $table->string('username')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password')->nullable();
            $table->rememberToken()->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

Я не могу найти причину, по которой он терпит неудачу. Надеюсь, кто-нибудь сможет выяснить, что является причиной этого. Спасибо

У вопроса есть решение - Посмотреть?

Ответы - Ошибка PHP в Laravel при вставке данных через sqlite / PHP Error in Laravel while inserting data via sqlite

Является ответом!
Octet

12.03.2020 06:44:22

Я думаю, что в вашей миграции "профиля" есть опечатка.

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

к

$table->string('url')->nullable();
Закрыть X