database - Laravel 不从数据库中检索双值

标签 database laravel eloquent inner-join

我一直在尝试从表“rates”中获取价格数据并将其存储在另一个表“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();

但是,我收到一条错误,指出检索的值不是 double 据类型:{“price”:80}。因此,我尝试将 first(['rates.price']); 更改为 value('rates.price') 但它存储为 null。

那么,为什么 {"price":80} 会变成 null 以及如何获取 80 的值?

最佳答案

你可以像这样使用select方法在这里或直接获取

直接获取对象值 ->first()->price 而不是 this -->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();

关于database - Laravel 不从数据库中检索双值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54604215/

相关文章:

mysql - 针对另外两个表选择一个表中缺少的行?

sql - 字段列表中的未知列 X

python - 如何在 Django 中重置数据库?我得到一个命令 'reset' not found 错误

php - 咨询-Laravel网站迁移步骤

php - 如何在SQL中根据字符相似度比较字符串?

php - 按 2 列的平均值过滤的 Eloquent 方式

mysql - 插入一列 DISTINCT,以及从一个表到另一个表的相应其他列

javascript - 使用 Knex.js : bind message supplies X parameters, 时出现批量插入错误,但准备好的语句 ""需要 Y

php - NodeJS 推送队列,由 Laravel worker 使用

php - Laravel 不对 Assets 和动态路由使用 https