Example #1
0
 /**
  * @todo This should also be moved to the behavior at some point.
  * This method overrides the parent in order to raise PluginEvents for Bulk delete operations.
  * 
  * Filter Criteria are wrapped into a CDBCriteria instance so we have a single instance responsible for holding the filter criteria
  * to be passed to the PluginEvent, 
  * this also enables us to pass the fully configured CDBCriteria instead of the original Parameters.
  * 
  * See {@link find()} for detailed explanation about $condition and $params.
  * @param array $attributes list of attribute values (indexed by attribute names) that the active records should match.
  * An attribute value can be an array which will be used to generate an IN condition.
  * @param mixed $condition query condition or criteria.
  * @param array $params parameters to be bound to an SQL statement.
  * @return integer number of rows affected by the execution.
  */
 public function deleteAllByAttributes($attributes, $condition = '', $params = array())
 {
     $builder = $this->getCommandBuilder();
     $table = $this->getTableSchema();
     $criteria = $builder->createColumnCriteria($table, $attributes, $condition, $params);
     $this->dispatchPluginModelEvent('before' . get_class($this) . 'DeleteMany', $criteria);
     $this->dispatchPluginModelEvent('beforeModelDeleteMany', $criteria);
     return parent::deleteAllByAttributes(array(), $criteria, array());
 }
 /**
  *
  * @param array $attributes
  * @param string $condition
  * @param array $params
  * @return boolean 
  */
 public function deleteAllByAttributes($attributes, $condition = '', $params = array())
 {
     if (CStubActiveRecord::isUnittests()) {
         return CallFactory::call($this, 'deleteAllByAttributes');
     }
     return parent::deleteAllByAttributes($attributes, $condition, $params);
 }