【问题标题】:Symfony propel criterion inside for loop循环内的 Symfony 推进标准
【发布时间】:2011-09-09 07:15:25
【问题描述】:
$record_values = new Criteria();
$record_values->add(TblfieldsPeer::CUSTOMER_ID, $company_qu_id);
$record_values->add(TblfieldsPeer::RECORD_TYPE_ID, $query_rtype);
for($fieldid_arrayCount=0;$fieldid_arrayCount<count($fieldIds);$fieldid_arrayCount++)
{
$currentFieldId = $fieldIds[$fieldid_arrayCount];
if(isset($query_values[$fieldid_arrayCount]))
{
$criterion1 = $record_values->getNewCriterion(TblfieldsPeer::FIELDS_ID, $currentFieldId);
$criterion1->addAnd($record_values->getNewCriterion(TblfieldsPeer::FIELD_VALUES, $query_values[$fieldid_arrayCount]));
$record_values->add($criterion1);
}
}
$record_values_results = TblfieldsPeer::doSelect($record_values, $con1);

但只添加了最后一个标准。我在调试工具栏中检查数据库,只有最后一个标准在那里。可能是什么问题呢。 请帮帮我....

【问题讨论】:

    标签: symfony1 criteria propel


    【解决方案1】:

    我不是推进专家,但也许您可以尝试使用 2 种替代更改:

    • 使用addAnd 语句代替add 一个$record_values-&gt;add($criterion1)
    • $record_values-&gt;add($criterion1) 放在(当然之后)循环之外,将$criterion1 放在循环外的字段中,并且只对$criterion1 使用addAnd 语句

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-03
      • 2023-04-09
      • 1970-01-01
      相关资源
      最近更新 更多