首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpactiverecord的条件数组

phpactiverecord的条件数组
EN

Stack Overflow用户
提问于 2017-06-13 01:12:49
回答 0查看 56关注 0票数 0

我有太多的条件组合,可能会进入db调用,以至于我不可能为每个条件单独进行调用。我会有太多的if/else语句。

因此,我希望将条件推入数组中,以动态构建条件语句和传入的值。所以:

代码语言:javascript
复制
    $cond_values = array();
    $cond_values[] = $lender->id;
    $cond_string = "lender_id = ?";

    if (something) {
      $cond_string .= " AND search_id =?";
      $cond_values[] = $search_id; 
    }
    if (something_else) {
      $cond_string .= " AND cust_id =?";
      $cond_values[] = $cust_id; 
    }

    $matches = Match::all(array(
      "select" => $select,
      "conditions" => array($cond_string, $cond_values),
      "order" => $order,
      "joins" => $joins
    ));

但只有当$cond_values中有0或1个元素时,这才有效。超过一个值,我得到一个“没有索引1的绑定参数”错误。它似乎只有在我这样做的情况下才能起作用:

代码语言:javascript
复制
    $matches = Match::all(array(
      "select" => $select,
      "conditions" => array($cond_string, $cond_values[0],$cond_values[1] ),
      "order" => $order,
      "joins" => $joins
    ));

但是值的数量会有所不同,所以我不能这样做。如果你有任何见解我将不胜感激。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44505129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档