Symfony продвинуть критерий внутри для цикла - PullRequest
0 голосов
/ 09 сентября 2011
$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);

Но добавлен только последний критерий. Я проверяю базы данных на панели инструментов отладки, только последний критерий существует. В чем может быть проблема. Пожалуйста, помогите мне ....

1 Ответ

1 голос
/ 09 сентября 2011

Я не эксперт по продвижению, но, возможно, вы могли бы попробовать использовать 2 альтернативные изменения:

  • , чтобы использовать addAnd оператор вместо add один в $record_values->add($criterion1)
  • поместить $record_values->add($criterion1) вне (конечно после) цикла, изменив $criterion1 в поле вне цикла и используя только оператор addAnd для $criterion1
...