sql – 查询中的Laravel concat(where条件)

前端之家收集整理的这篇文章主要介绍了sql – 查询中的Laravel concat(where条件)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对laravel(今天开始)很新,并且面临构建简单查询的问题:
$query->orWhere("CONCAT(`nvp`,' ',`vpv`)",'LIKE',"%$this->searchNeedle%");

上面的这一行是封装查询条件中的几个条件之一.我认为其他方面对于这种情况不是必需的,但请告诉我你是否需要看到它们.

我发现开发人员决定添加一个

`

在第一个orWhere / where param之前和之后引起问题我不能使用简单的concat,因为上面的行将导致:

`CONCAT(`vpv`,`nvp`)` LIKE ?)' 
↑                         ↑
this                    & this

由于这是自动添加我不能删除它而不覆盖我不会的laravel核心功能.是否有任何基于sql的“hack”处理这两个`?像1 = 1那样的东西,你知道吗?

也许你有另一个解决方案让我得到预期的结果,将一个字符串与两行组合比较?

解决方法

Laravel在幕后做了一些事情,比如为你添加刻度线.

幸运的是,它还提供了一些工具来为您完成工作……

对于这种类型的东西,DB :: raw()通常效果很好.尝试这样的事……

$query->orWhere(DB::raw("CONCAT(`nvp`,`vpv`)"),"%".$this->searchNeedle."%");

猜你在找的MsSQL相关文章