【发布时间】:2019-11-12 02:47:51
【问题描述】:
我正在使用 laravel 4 查询。我想通过 OR 条件获取数据。 Laravel 4 有什么优先级规则吗?
我的查询是:
SELECT *
FROM order_items
WHERE (status = 'Y' OR (status = 'N' AND amount > 100))
AND product_id = '15'
LIMIT 1;
我有 2 个订单项目,但我希望结果中的第一个项目将获得优先状态 = 'Y',如果它不存在,那么它满足 OR 的第二个条件。
这是我的 laravel 代码:
$sql_select = "SELECT *
FROM order_items
WHERE (status = 'Y' OR (status = 'N' AND amount > 100))
AND product_id = '15'
LIMIT 1";
$data = DB::select($sql_select);
echo "<pre>";
print_r($data);
die;
对于简单的 mysql 查询,它可以工作,但在 laravel 中它没有给出结果。
【问题讨论】:
-
你能分享你的 laravel 代码吗?
-
另外,没有
ORDER BY的LIMIT 1也没有意义,因为SQL 表/结果集是由SQL 标准定义的无序 -
考虑到您在不使用查询构建器的情况下传递完全相同的查询,它应该返回相同的结果。
-
接缝不见了
->get()?
标签: php mysql laravel laravel-4