laravel - 无法获得具有类似条件的完整查询 Laravel 6.5.2

标签 laravel query-builder

我正在使用 Laravel Framework 6.5.2 构建一个网站。 但我的查询生成器有问题。 我尝试了“where like”条件,但它不起作用。

$query = Order::where('customer_name', 'LIKE', '%Jone%');
print_r($query->toSql());
// this returns "select * from orders where customer_name LIKE ?"

为什么会发生这种情况?以及如何解决这个问题?

最佳答案

我不确定这里是否真的有什么问题。要理解原因,请考虑准备好的语句(这是 Laravel 在幕后使用的内容)实际上并未在您的应用程序代码中进行评估。相反,带有绑定(bind)参数的语句将被发送到 MySQL 数据库并在那里进行评估。因此,您准备好的声明应该如下所示:

select * from orders where customer_name like ?

现在,至于您的查询在逻辑上是否正确,或者是否存在任何其他问题,则是另一个问题,但您向我们展示的任何内容本身看起来都没有错误。

关于laravel - 无法获得具有类似条件的完整查询 Laravel 6.5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59044147/

相关文章:

javascript - jQuery 获取 div 文本更改问题

laravel - 如何在 Laravel 5.8 中获取结果的计数和平均值

spring-data-jpa - Spring Data JPA : Filter by one Field, 按另一个字段排序并获取第一个

mysql - Laravel 按查询分组

mysql - Symfony2 查询构建器选择

postgresql - 如何正确使用查询构建器来进行子选择?

php - 使用 Laravel 语法对三个或四个不同的表执行 JOIN

php - Laravel websockets导致python套接字错误

jquery - Laravel 和无限滚动

mysql - 我在查询生成器 SYMFONY 中遇到问题