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

la colonne des prix à la DB est décimal, et lorsque je tente de soustraire une valeur sur la base de données, je reçois cette erreur en disant qu'il ne pouvait pas être converti en intObjet de collection de classe ne peut pas être converti en int [Laravel]

+0

ce qui est 'price' de $ u peut poster la déclaration de et cession – jaysingkar

+0

prix de $ = \ DB: : table ('order_products') -> où ('id', $ orderid_prod) -> pluck ('prix'); – DEMONIOalpha

+0

'$ preco = \ DB :: table ('pedido_produtos') -> où ('id', $ pedidoid_prod) -> pluck ('preco'); 'est le plus susceptible de vous rendre un tableau ou un objet. Lancez un 'dd ($ preco)' et voyez ce que vous obtenez. S'il s'agit d'un tableau ou d'un objet, il suffit de retirer la valeur. –

Répondre

0

si vous utilisez dd($price) vous verrez que c'est collection. pluck() renvoie le tableau de toutes les valeurs. Ainsi, l'utilisation prix de $ [0] au lieu de $price

Ou vous pouvez modifier l'affectation des prix comme ci-dessous

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