首页 > 解决方案 > 未使用 Eloquent laravel 将数据插入 Mysql

问题描述

我在 Larvel 中使用 Eloquent Model insert()方法将数据插入数据库表时遇到问题。但是当我点击提交按钮时,数据没有插入数据库。

这是我实现的代码:-

控制器

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'
    ];
}

任何想法或我的代码中有什么是错误的?

标签: laraveleloquent

解决方案


insert()在 eloquent 上使用方法,insert()是 DB 类的方法,create()而 Eloquent 有方法,

WarehouseInventory::create($data);

源代码:https ://laravel.com/docs/5.8/eloquent#inserting-and-updating-models


推荐阅读