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

标签 php mysql laravel laravel-5 lumen

我试图将这个传统的 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/

相关文章:

php - 我的类(class)无法连接到数据库?

windows - Laravel 4 在 WAMP/Windows 上的安装问题

Laravel Webpack - 顶级变量的不需要的缩小

php - JMSSerializer 和 UTF-8 编码错误 (Symfony2.4)

php - 您对存储 AWS 身份验证数据有何建议?

sql - 使用 CASE 语句的嵌套 SQL 查询

mysql - laravel中Mysql分组返回数据

php - JSON.stringify() 对于序列化 JSON 对象是否可靠?

PHP - 复选框值/数据库插入和 if(isset())

php - MySQL/PHP 清理/验证存储在数据库中的 URL 的最佳方法