我一直试图从“价格”表中获取价格数据,并将其存储在另一个“预订”表中。

$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'),但它存储为空。
那么,为什么{“price”:80}变成空值,如何得到80的值呢?

最佳答案

你可以像那样使用这里的select方法或者直接得到
直接获取对象值

$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();

10-04 21:50