2017-08-29 51 views
0
\DB::table('orders')->where('id', $orderid)->update(['price' => \DB::raw('price' - $price)]); 

在DB的价格列是十进制的,当我尝试在数据库上减去一个值,我得到这个错误说,它不能转换为int对象无法转换成int [LARAVEL]

+0

是什么'$ price' u能张贴的声明和赋值 – jaysingkar

+0

$价格= \ DB: :table('order_products') - > where('id',$ orderid_prod) - > pluck('price'); – DEMONIOalpha

+0

'$ preco = \ DB :: table('pedido_produtos') - > where('id',$ pedidoid_prod) - > pluck('preco'); '最有可能给你回数组或对象。运行一个'dd($ preco)',看看你得到了什么。如果它是一个数组或对象,只需将该值拉出即可。 –

回答

0

如果你使用dd($price)你会看到它是集合。 pluck()返回所有值的数组。因此,使用$价格[0],而不是$price

或者,您可以更改价格的赋值,因为波纹管

$price= \DB::table('order_products')->where('id', $orderid_prod)->first()->price;