Laravel не получает двойное значение из базы данных - PullRequest
0 голосов
/ 09 февраля 2019

Я пытался получить данные о ценах из таблицы «ставки» и сохранить их в другой таблице «бронирования».

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

Однако я получаю сообщение об ошибке, в котором говорится, что извлекаемое значение не имеет двойного типа: {"цена": 80}.Итак, я попытался изменить first(['rates.price']); на value('rates.price'), но он хранится как ноль.

Итак, почему {"price": 80} становится нулевым и как получить значение 80?

1 Ответ

0 голосов
/ 09 февраля 2019

Вы можете использовать этот метод, используя 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();
...