douao1579 2015-07-28 21:14
浏览 137
已采纳

Laravel 5.1中的empty where子句更喜欢雄辩的方法

i am looking to produce the following query in laravel 5.1 with eloquent method.

The mysql query is a follows

SELECT * FROM orders WHERE 1 = 1 ORDER BY o_date DESC LIMIT 25

No matter what i cant get the

WHERE 1 = 1

part working.

am new to laravel and pretty sure this is easy. but can't figure it out.

I have tried the following variations

$orders = orders::where('1', 1)->orderBy('o_date', 'desc')->take(25)->get();
$orders = orders::where(1)->orderBy('o_date', 'desc')->take(25)->get();
$orders = orders::where('1', '=', '1')->orderBy('o_date', 'desc')->take(25)->get();

but its not working. the query results is as shown below

> select count(*) as aggregate from `orders`
  • 写回答

2条回答 默认 最新

  • dongtuo0828 2015-07-28 23:07
    关注

    Seems like (looking at 1=1) you need whereRaw

    $orders = orders::whereRaw("any clause u wish")->orderBy('o_date', 'desc')->take(25)->get();
    

    but if "any clause u wish" is not a VERY-VERY dinamical part u'd better look what else you can use

    http://laravel.com/api/5.0/Illuminate/Database/Query/Builder.html

    For the above example the below code works fine

    $orders = orders::whereRaw("1 = 1")->orderBy('o_date', 'desc')->take(25)->get();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部