使用for循环在查询中生成嵌套条件

斯图

我有一个带有复选框的表单,我想创建一个查询,例如:

SELECT * FROM table WHERE name = 'name' AND (option = 'check1' OR option = 'check2' OR option = 'check3')

嵌套条件将取决于用户选择的复选框。

我知道或可以找到有关如何执行嵌套条件的示例的唯一方法如下所示:

$select->where->nest
    ->equalTo('option', 'check1')
    ->or
    ->equalTo('option', 'check2')
    ->or
    ->equalTo('option', 'check3')
    ->unnest();

但是,这仅适用于嵌套中包含固定数量的equalTo的情况,而我的情况下的数量将是可变的。我想做这样的事情(其中$ filters是用户选择的复选框值的数组):

$select->where->StartNest();
foreach($filters['check'] as $check){
    $select->where->like('option', '%'.$check.'%');
    $select->where->or;
}
$select->where->StopNest();

这样有可能吗?还是有更好的方法来解决此问题?

非常感谢您解决这个问题!

编辑:

这是我最终完成此操作的方式。似乎有点骇人听闻,但它现在正在做这项工作:

$strLiteral = '';
foreach($filters['check'] as $check){
    $strLiteral .= "options LIKE '%$check%' OR ";
}
$strLiteral = substr($strLiteral, 0, -4);  //remove the final ' OR' from string
$select->where->nest
    ->literal($strLiteral)
    ->unnest;
斯图

这是我最终完成此操作的方式。似乎有点骇人听闻,但它现在正在做这项工作:

$strLiteral = '';
foreach($filters['check'] as $check){
    $strLiteral .= "options LIKE '%$check%' OR ";
}
$strLiteral = substr($strLiteral, 0, -4);  //remove the final ' OR' from string
$select->where->nest
    ->literal($strLiteral)
    ->unnest;

如果有人知道实现此目标的更好方法,请告诉我。谢谢!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从带有连接的数据库查询中生成嵌套的 JSON?使用 Python/SQLAlchemy

来自分类Dev

使用R在for循环中生成可再现的结果

来自分类Dev

Stata:使用元组局部宏在循环中生成变量

来自分类Dev

如何使用嵌套循环加快查询

来自分类Dev

使用多个条件进行匹配以在R中生成值

来自分类Dev

使用生成器而不是嵌套循环

来自分类Dev

使用条件语句加速Python嵌套循环

来自分类Dev

在for循环javascript中生成变量

来自分类Dev

嵌套循环-在Unity中生成catan样式的十六进制网格

来自分类Dev

在查询中生成“伪”记录

来自分类Dev

在代码中生成查询正文

来自分类Dev

在熊猫中生成条件列

来自分类Dev

嵌套循环条件

来自分类Dev

嵌套循环条件

来自分类Dev

在Pig中生成任意嵌套的元组?

来自分类Dev

在JBuilder中生成嵌套的JSON数组

来自分类Dev

在C ++中生成任意嵌套的向量

来自分类Dev

嵌套函数并在MATLAB中生成图

来自分类Dev

如何使用mysql查询在php中使用嵌套的foreach循环

来自分类Dev

如何使用像Fluent Builders Generator这样的嵌套Builder在Intellij中生成Builder

来自分类Dev

如何使用像Fluent Builders Generator这样的嵌套Builder在Intellij中生成Builder

来自分类Dev

通过使用php和mysql在Json脚本中生成嵌套的相同结构表

来自分类Dev

合并循环中生成的多个RDD

来自分类Dev

在地图循环中生成多个参考

来自分类Dev

在SCSS的for循环中生成线性渐变

来自分类Dev

for循环中生成的警报过多

来自分类Dev

跟踪在for循环中生成的JButton

来自分类Dev

使用嵌套循环提高SQL查询的性能-PostgreSQL

来自分类Dev

Verilog - 使用多个 genvar 嵌套生成 for 循环,不可能?

Related 相关文章

热门标签

归档