我提交

时间:2019-04-13 11:22:08

标签: php laravel

我有这样的桌子 表名是pr_item 我想将item_code接收的内容从“未接收”更新为“接收”

我要更新很多...一键更新一些item_code或bulkUpdate 更新的商品代码必须与pr_number相同 但是当我单击更新按钮代码不起作用,不显示错误,对数据库没有任何影响时,只需将重定向返回到页面

enter image description here

这是我的控制器

 $item = ItemPR::where('item_code', '=', $item_code)->get();

    foreach($item as $data){
    $items = ItemPR::where('pr_number', '=', $data->item_code)->get();
   $update = $items->update(['receive' => 'received']); 

    }
    return redirect()->back();

这是我的表单操作

 <form action="{{route('inventory.receivedAll')}}" method="POST" enctype="multipart/form-data">
              {{ csrf_field() }}
              <input type="hidden" name="pr_item" value="$pr_item">
              <button type="submit">
                  <i class="fa fa-check-circle" aria-hidden="true"></i>
              </button>
            </form>

这是我的路线

    Route::post('warehouse-inventory/receivedAll', 'ExpedisiController@receivedAll')->name('inventory.receivedAll');

这是ItemPR模型

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

    public  $timestamps = FALSE;

    protected $fillable = [
        'pr_item', 'pr_number', 'item_code', 'pr_qty','price'
    ];

    public function items()
    {
        return $this->belongsTo('\App\ModelMTOItem');
    }

    public function pr()
    {
        return $this->belongsTo('\App\DocumentPR');
    }
}

我的代码有什么问题?如何将状态从未接收状态批量更新为已接收状态,请帮助,谢谢

3 个答案:

答案 0 :(得分:0)

您可以直接进行更新。只需进行以下更改即可。

with open("D://map/dimo.json") as obj:
    import json
    json.dump("sss",obj)

答案 1 :(得分:0)

您在条件错误的地方尝试

where('pr_number', '=', $data->item_code)

并更新收藏集。您可以尝试以下方法:

替换

 $item = ItemPR::where('item_code', '=', $item_code)->get();

foreach($item as $data){
  $items = ItemPR::where('pr_number', '=', $data->item_code)->get();
  $update = $items->update(['receive' => 'received']); 

}

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

在$ fillable中添加“接收”列:

protected $fillable = [
    'pr_item', 'pr_number', 'item_code', 'pr_qty','price', 'receive'
];

答案 2 :(得分:0)

要更新所有ItemPRpr_item相同的$item_code,请将列从receive更改为received

在您的控制器中,执行以下操作:

$item = ItemPR::where('item_code', $item_code)->update(['receive' => 'received]);

此外,在您的表单中有一个小错误:

此行:

<input type="hidden" name="pr_item" value="$pr_item">

应如下所示:

<input type="hidden" name="pr_item" value="{{old('pr_item')}}">