Общая ошибка: 1364 Поле 'products_id' не имеет значения по умолчанию - PullRequest
2 голосов
/ 10 апреля 2020

Здравствуйте, у меня есть две таблицы:

продукты:

 public function up()
    {
        Schema::create('products', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
            $table->string('title');
            ...
            $table->boolean('slider_mode')->default(false);
        });
    }

и ползунок:

public function up()
    {
        Schema::create('slider', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
            ...
            $table->integer('products_id')->unsigned()->index();
            $table->foreign('products_id')->references('id')->on('products')->onDelete('cascade');
        });

Проблема заключается в том, что я создаю таблицу продуктов с помощью ползунка , идентификатор продукта не ссылается на products_id

Вот мой контроллер (функция магазина):

...
 if($x1['slider_mode'] == 1){      # x1 is $request->all();
            Slider::create($x1);
        }
        Product::create($x1);


        return redirect('admin/products');

должен products_id не завершаться автоматически с идентификатором продукта, когда я создаю оба ?

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

Общая ошибка: 1364 Поле 'products_id' не имеет значения по умолчанию

Ответы [ 2 ]

3 голосов
/ 10 апреля 2020

Если вы устанавливаете отношения внутри своих моделей, вы можете сделать это следующим образом:

$product = Product::create($x);
$product->sliders()->create($x);

Недавно созданный слайдер автоматически получит product_id продукта.

Вы можете читать дальше здесь Я думаю, это то, что вам нужно.

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

product_id - автоинкремент, но для таблицы products не для таблицы slider.

Если вы хотите вставить в таблицу slider без product_id, необходимо обновить products перенастройка таблицы и установка значения равным нулю:

$table->integer('products_id')->unsigned()->index()->nullable();

Или, если вы хотите product_id, также вы должны установить product_id.

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