gpt4 book ai didi

php - Lumen/Laravel 查询生成器 - BETWEEN

转载 作者:行者123 更新时间:2023-11-29 21:40:21 24 4
gpt4 key购买 nike

我试图将这个传统的 sql 查询转换为 larvael/lumen 查询生成器,但遇到了麻烦。

$query = "SELECT a.id, a.name, a.cuisine, a.status, a.new, a.addressLine1, a.addressLine2, a.addressLine3, a.city, a.weekendot, a.weekendct, b.class
FROM restaurants a, restaurants_class b
WHERE a.class = b.id
AND '$date' = CURRENT_DATE
AND '$ntime' BETWEEN a.weekendot AND a.weekendct
ORDER BY id DESC";

$date$ntime 是变量。

这就是我到目前为止所拥有的;

$posts = DB::connection('web')
->table('restaurants')
->join('restaurants_class', 'restaurants.class', '=', 'restaurants_class.id')
->select('restaurants.*', 'restaurants_class.*')
->get();

第一个 AND 语句没有从 ​​DB 获取任何内容

第二个 AND 语句将 varDB 中的两列进行比较

不确定如何实现 whereBetween

最佳答案

这完全未经测试,但我认为您最好的选择是使用 whereRaw 方法,因为您的变量不允许您使用 whereBetween 方法。

我还假设 $date$ntime 变量是 PHP 变量而不是 MySQL 变量。

$posts = DB::connection('web')
->table('restaurants')
->join('restaurants_class', 'restaurants.class', '=', 'restaurants_class.id')
->whereRaw('? = CURRENT_DATE', $date)
->whereRaw('? BETWEEN a.weekendot AND a.weekendct', $ntime)
->select('restaurants.*', 'restaurants_class.*')
->get();

关于php - Lumen/Laravel 查询生成器 - BETWEEN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34578973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com