Ошибка преобразования массива в строку при sql вставке в laravel 5.6 - PullRequest
4 голосов
/ 17 марта 2020

Я пытаюсь вставить в таблицу order_items laravel 5.6 и получаю следующую ошибку

"Преобразование массива в строку (SQL: вставить в order_items (title, order_id, quantity, unit_price, unit_booking_fee) значений (сектор1, 129, 1, 1, 1)) "

схема таблицы order_items

    Schema::create('order_items', function ($table) {
        $table->increments('id');
        $table->string('title', 255);
        $table->integer('quantity');
        $table->decimal('unit_price', 13, 2);
        $table->decimal('unit_booking_fee', 13, 2)->nullable();
        $table->unsignedInteger('order_id');
        $table->foreign('order_id')->references('id')->on('orders')->onDelete('cascade');
        $table->softDeletes();
    });

Я пробовал следовать обоим кодам, и оба выдают одну и ту же ошибку

        $orderItem = new OrderItem();
        $orderItem->title = $attendee_details['ticket']['title'];
        $orderItem->quantity = $attendee_details['qty'];
        $orderItem->order_id = $order_id;
        $orderItem->unit_price = $attendee_details['ticket']['price']; //0.15
        $orderItem->unit_booking_fee = $attendee_details['ticket']['booking_fee'] + $attendee_details['ticket']['organiser_booking_fee']; //0.01
        $orderItem->save();


        OrderItem::create([
            'title' => 'sector1',//$attendee_details['ticket']['title'],
            'order_id' => $order_id,
            'quantity' => $attendee_details['qty'],
            'unit_price' => 1,
            'unit_booking_fee' => 1
        ]);

Что я делаю не так?

1 Ответ

2 голосов
/ 17 марта 2020

Решил это. Обнаружил, что $ order_id был массив

...