【发布时间】:2014-10-04 08:13:45
【问题描述】:
我是 laravel 的新手(从今天开始),在构建简单查询时遇到了问题:
$query->orWhere("CONCAT(`nvp`, ' ', `vpv`)", 'LIKE', "%$this->searchNeedle%");
上面的这一行是封装查询条件中的几个条件之一。我认为这种情况下不需要其他行,但请告诉我您是否需要查看它们。
我发现开发者决定添加一个
`
在第一个 orWhere/where 参数之前和之后导致我不能使用简单的 concat 的问题,因为上面的行将导致:
`CONCAT(`vpv`, ' ', `nvp`)` LIKE ?)'
↑ ↑
this & this
由于这是自动添加的,我无法在不覆盖我不会的 laravel-core 函数的情况下删除它。是否有任何基于 SQL 的“hack”可以处理这两个 ` ?像 1 = 1 这样的东西,你知道吗?
也许你有另一种解决方案让我得到预期的结果,将一个字符串与两行组合进行比较?
【问题讨论】: