много ко многим. Ошибка при сохранении дополнительного столбца в базу данных - PullRequest
0 голосов
/ 25 апреля 2018

Много-много отношений в модели

  public function drycleanings()
    {
      return $this->belongsToMany('App\drycleaning')
      ->withPivot('$cart_id','drycleaning_id','q_drycleaning_id');
    }

и

  public function carts()
  {
    return $this->belongsToMany('App\cart')
    ->withPivot('$cart_id','drycleaning_id','q_drycleaning_id');
  }

В контроллере я использую

$cart->drycleanings()->attach($request->drycleaning_id,[$request->q_drycleaning_id]);

если выдает ошибку

SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец '0' в 'списке полей'

Результат dd ($ request-> all ());

"drycleaning_id" => array:2 [▼
    0 => "3"
    1 => "4"
  ]
  "q_drycleaning_id" => array:58 [▼
    0 => "2"
    1 => "2"
    2 => null
    3 => null
    4 => null
    5 => null
    6 => null
    7 => null
    8 => null
    9 => null
    10 => null
  ]

Миграция для таблицы cart_drycleaning

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateCartDrycleaningTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('cart_drycleaning', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('cart_id');
            $table->integer('drycleaning_id');
            $table->integer('q_drycleaning_id');
            $table->timestamps();
        });
    }

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

Если я использую только $cart->drycleanings()->attach($request->drycleaning_id); затем cart_id и drycleaning_id сохраняются в таблицу связей / сводок (имя таблицы: cart_drycleaning)

Я пытаюсь сохранить значение q_drycleaning_id (представляющее количество товара), полученное от пользователя.

Можно ли как-то передать только ненулевые значения? или любое другое решение, чтобы сохранить оба в таблицу ассоциации?

...