Php 条令ORM标准-动态orX
我花了很长时间在这个问题上,但找不到合适的解决办法。 如何修改下面的代码,以便我可以使用可变数量的动态包含条件Php 条令ORM标准-动态orX,php,orm,doctrine-orm,doctrine,criteria,Php,Orm,Doctrine Orm,Doctrine,Criteria,我花了很长时间在这个问题上,但找不到合适的解决办法。 如何修改下面的代码,以便我可以使用可变数量的动态包含条件 $criteria = Criteria::create(); $expr = Criteria::expr(); $criteria->where( $expr->orX( $expr->contains('field1', $str), $expr->c
$criteria = Criteria::create();
$expr = Criteria::expr();
$criteria->where(
$expr->orX(
$expr->contains('field1', $str),
$expr->contains('field2', $str),
$expr->contains('field3', $str),
$expr->contains('field4', $str)
)
);
您可以使用以下方法:
$criteria->where(Criteria::expr()->eq('active', 'true'));
您可以这样动态地称之为:
$criteria = new Criteria();
$expr = array();
$expr[] = $criteria->expr()->eq(/** what you want */);
$expr[] = $criteria->expr()->contains(/** what you want */);
$criteria->where(call_user_func_array(array( $criteria->expr(), 'orX' ),$expr));
我认为解决方案已被描述