我正在使用 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/