我一直在尝试从表“价格”中获取价格数据,并将其存储在另一个表“ bookings”中。
$duit =Booking::Join('rates', 'bookings.park_area','=', 'rates.areaid')
->where('bookings.user_id', '=', Auth::user()->userid)
->where('bookings.park_area','=',$bookings->park_area)
->where('bookings.semester','=',$bookings->semester)
->first(['rates.price']);
$bookings->price=($duit);
$bookings->save();
但是,我收到一条错误消息,指出值检索不是双精度数据类型:{“ price”:80}。因此,我尝试将first(['rates.price']);
更改为value('rates.price')
,但它存储为null。
那么,为什么{“ price”:80}变为null以及如何获得80的值?
答案 0 :(得分:2)
您可以在此处使用select
方法或直接获取
直接获取对象值 ->first()->price
或此- ->first(['rates.price']);
$duit = Booking::Join('rates', 'bookings.park_area','=', 'rates.areaid')
->where('bookings.user_id', '=', Auth::user()->userid)
->where('bookings.park_area','=',$bookings->park_area)
->where('bookings.semester','=',$bookings->semester)
->select('rates.price')
->first()->price;
$bookings->price = $duit;
$bookings->save();