for 循环内的 Symfony 推进标准

发布于 2024-12-03 11:18:19 字数 777 浏览 0 评论 0原文

$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);

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

$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);

But only last criterion is added. I check the databases in debug toolbar only the last criterion is there. What could be the problem.
Please help me....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谈下烟灰 2024-12-10 11:18:19

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

  • 使用 addAnd 语句而不是 $record_values->add 中的 add 语句($criterion1)
  • $record_values->add($criterion1) 放在循环之外(当然是在之后),在字段外部更改 $criterion1循环并仅对 $criterion1 使用 addAnd 语句

I'm not a propel expert but maybe you could try to use 2 alternative changes:

  • to use addAnd statement instead of add one in $record_values->add($criterion1)
  • to put $record_values->add($criterion1) outside the (of course after) cycle changing $criterion1 in a field outer the cycle and using only the addAnd statement for $criterion1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文