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

任何帮助将不胜感激。

    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/

10-09 08:12