我是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/