使用方法save()和模型组合键保存错误模型

时间:2018-11-19 03:07:20

标签: laravel eloquent composite-primary-key laravel-query-builder

ExistenciaProducto模型的控制器

public function store(StoreExistenciaProductoRequest $request)
{
    //EP = ExistenciaProducto
    $EP =  ExistenciaProducto::whereColumn([
                  ['cod_producto', '=',  DB::raw((int)$request->cod_producto)],
                  ['cod_talla', '=',  DB::raw('\''.$request->cod_talla.'\'')],
                  ['cod_bodega', '=', DB::raw((int)$request->direccion_bodega)],
                  ['cod_tienda', '=', DB::raw((int)$request->cod_tienda)]
                  ])->first();

    if($EP != null){
      if($EP->precio_compra == $request->precio_compra &&
         $EP->proveedor == $request->proveedor){

        $EP->cantidad = $EP->cantidad + $request->cantidad;

        $EP->save();
        return redirect()->route('existencia-producto.index')->with('status','La existencia del producto a sido creada exitosamente.');
      }
    }
}

ExistenciaProducto模型

    class ExistenciaProducto extends Model
{
    protected $table = "Existencia_producto";
    protected $primaryKey = (
      ["cod_producto",
       "cod_talla",
       "cod_bodega",
       "cod_tienda"]
    );

    public $incrementing = false;

}

错误:

  • 非法偏移类型
  • handleError:

protected function getKeyForSaveQuery(){
            
return $this->original[$this->getKeyName()]  <- this line error
                ?? $this->getKey();
}

钯:

  • 我想这是组合键的问题。我不知道如何解决

0 个答案:

没有答案