laravel选择where/count查询

f87krz0w  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(483)

有两个mysql表:
1.预订(id、筛选id、预订)。保留值是一个布尔值,其值为“1”。
桌位预订(id、筛选id、预订id、座位id)。
我需要以下内容:1.获取预订id select id from reservation,其中laravel中的screening\u id=id和reserved=1如下所示:

$reservation_id = DB::table('reservations')->select('id')- 
          >where('screening_id',$id)->where('reserved','1')->get();

然后我想数一数有多少座位被预订了
选择count(id)from seat\u reserves where screening\u id=id and reservtain\u id=id.在laravel中如下所示:

$reservedtickets = DB::table('seat_reseverds')- 
       >where('screening_id',$id)->where('reservation_id',$reservation_id)->count('id');

我想问题是我从$reservedtitckets查询中得到了“id”:number,所以不能在$reservedtitckets查询中使用它,因为我只需要一个数字。我怎样才能写这些疑问句。

pgccezyw

pgccezyw1#

使用 ->value('id') 要从查询中获取单个值,请执行以下操作:

$reservation_id = DB::table('reservations')
    ->where('screening_id',$id)
    ->where('reserved','1')
    ->value('id');
mv1qrgav

mv1qrgav2#

将查询更新为以下内容。

$reservation = DB::table('reservations')
      ->where('screening_id',$id)
      ->where('reserved', 1)
      ->first();

然后 $reservation_id 应如下所示。

$reservation_id = $reservation->id;

您可以将此参数传递给下一个查询 $reservedtickets .

相关问题