php - 正确的 SQL 到 Laravel ORM

标签 php laravel

我是 Laravel 的新手,我有一个正确的 SQL 语句(适用于 PHPMyAdmin 和 Navicat)并且我可以得到结果。我想做的是,我想在不使用 DB::raw(); 的情况下在 Laravel 中获取该语句。

任何帮助将不胜感激。

    Select 
        rmm.message,
        count(rmm.message) as number, 
        receivedTime as time

    FROM
           rcs rcs, rmm rmm
    WHERE
          rmm.smsCid =  rcs.smsCid AND  rmm.receivedTime LIKE '%2013-04-01%' AND length('rmm.message') > '3'

    GROUP BY(rmm.message)

最佳答案

或者您可以使用 Fluent Query Builder .这是我的尝试,当然它没有被检查,因为我没有你的数据结构。希望足以让你开始:

DB::table('rcs') // SELECT FROM rcs
    ->join('rmm', 'rmm.smsCid', '=', 'rcs.smsCid') // Simple INNER join
    ->where('rmm.receivedTime', 'LIKE', '%2013-04-01%')
    ->where(DB::raw('LENGTH(rmm.message)'), '>', 3)
    ->get(array(DB::raw('COUNT(rmm.message)'), 'rmm.message', 'receivedTime')); // Get only the columns you want

关于php - 正确的 SQL 到 Laravel ORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746047/

相关文章:

php - 无法为序列化准备路由 [api/user]。使用闭包

javascript - React 不更新 DOM (Laravel)

php - 从 mysql 检索以填充表单时遇到问题

php - 排序在 Knp 分页器中不起作用

javascript - Jquery下载开始后是否可以刷新页面?

mysql - Laravel 用户模型与同一模型有两个关系

php - Laravel groupBy 和原始查询

javascript - Recaptcha 3 实现问题

php - 如何重新创建已创建的对象(参见示例)

php - 如何在 Laravel 5 中为模型中的现有字段定义访问器?