php - Laravel 5.1 中的空 where 子句更喜欢 Eloquent 方法

标签 php laravel laravel-4 laravel-5 eloquent

我希望使用 Eloquent 方法在 Laravel 5.1 中生成以下查询。

mysql查询如下

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

无论如何我都无法得到

WHERE 1 = 1

部分工作。

我是 Laravel 新手,并且很确定这很简单。但无法弄清楚。

我尝试了以下变体

$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();

但它不起作用。查询结果如下图

> select count(*) as aggregate from `orders`

最佳答案

似乎(查看 1=1)您需要 whereRaw

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

但是如果“你希望的任何子句”不是一个非常非常动态的部分,你最好看看你还可以使用什么

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

对于上面的例子,下面的代码工作正常

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

关于php - Laravel 5.1 中的空 where 子句更喜欢 Eloquent 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31691687/

相关文章:

php - Joomla登录功能

javascript - 从 ajax 调用返回 html 并格式化它

mysql - groupBy 保留个人条目

php - Laravel : Cant set JSON utf-8 charset

facebook - laravel4 hybridauth facebook 身份验证失败! Facebook 返回了无效的用户 ID

php - 如何只比较 MySQL 中 2 个表之间的月份和年份

php循环遍历数组以创建多维数组

php - Laravel - 尝试使用 self ref FK 从同一表的行中获取信息

php - Laravel 过滤有很多结果

php - Laravel Eloquent 从关系中选择