Данные не вставлены в Mysql с помощью Eloquent laravel - PullRequest
0 голосов
/ 14 июня 2019

У меня проблема с вставкой данных в таблицу базы данных с использованием Eloquent Model insert () в Larvel.Но когда я нажимаю кнопку «Отправить», данные не вставляются в базу данных.

Вот мой реализованный код: -

Контроллер

public function receivedAll(Request $request, ItemPR $item_code)
{

    $item_code      = $request->item_code;
    $pr_qty         = $request->pr_qty;
    $uploadFile     = $request->file('file_document');

    $update_data    = ItemPR::whereIn('item_code', explode(",", $item_code))->update(['receive'=> 'received']);

    $get_data       = ItemPR::whereIn('item_code', explode(",", $item_code))->orWhereIn('pr_qty', explode(",", $pr_qty))->get();

    $data = [];
    foreach($get_data as $value) {

        if(is_array($uploadFile)) {

            foreach($uploadFile as $file) {

                $filename = $file->getClientOriginalName();
                $folder[] = $file->storeAs('uploads', $filename);  
            }

            $data[] = 
            [
                'item_code'      => $value->item_code,
                'qty'            => $value->pr_qty,
                'file_document'  => $filename,
                'created_at'     => Carbon::now(),
                'created_by'     => Auth::user()->nick_name,
                'last_update'    => Carbon::now(),
                'last_update_by' => Auth::user()->nick_name,
            ];
        }

        WarehouseInventory::insert($data);
    }

    // Model elequent insert

    return response()->json(['success'=>"Products Updated successfully."]);
}

Модель: - WarehouseInventory.php

class WarehouseInventory extends Model
{
    protected $table = 'warehouse_inventori';
    protected $primaryKey = 'pr_item';

    public $incrementing = false;

    const CREATED_AT = 'created_at';
    const UPDATED_AT = 'last_update';

    protected $fillable = [
        'pr_item', 'item_code', 'qty', 'po_number', 'warehouse_id', 'file_document', 'created_at', 'last_update', 'last_update_by', 'created_by'
    ];
}

Любая идея или что в моем коде не так?

1 Ответ

0 голосов
/ 14 июня 2019

Вы используете метод insert() в eloquent, insert() - метод класса БД, вместо Eloquent используется метод create(),

WarehouseInventory::create($data);

src: https://laravel.com/docs/5.8/eloquent#inserting-and-updating-models

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