Select Git revision
ApprovalActionMajorRouterModel.php
ApprovalActionMajorRouterModel.php 4.04 KiB
<?php
class Requests_ApprovalActionMajorRouterModel extends Requests_ApprovalActionModel
{
protected $_majors = array();
public static function find($id)
{
$db = Zend_Registry::get('db');
$select = new Zend_Db_Select($db);
$select->from(array('a' => 'creqApprovalActions'));
$select->join(array('d' => 'creqApprovalActionsMajorRouter'), 'a.approvalActionId = d.approvalActionId');
if (Unl_Util::isArray($id)) {
$select->where('a.approvalActionId IN(?)', $id);
} else {
$select->where('a.approvalActionId = ?', $id);
}
$records = $db->query($select)->fetchAll();
$objects = new Unl_Model_Collection(__CLASS__);
foreach ($records as $record) {
$object = Unl_Model_Registry::getInstance()->getOrAdd(new self($record));
$objectId = $object->getId();
$objects[$objectId] = $object;
}
if (Unl_Util::isArray($objects)) {
return $objects;
} else {
return array_pop($objects);
}
}
static public function fetchNew()
{
$data = array(
'approvalActionId' => NULL,
'name' => '',
'approvalChain' => NULL,
'className' => '',
'participatingRoles' => array(),
'editingRoles' => array()
);
$new = new self($data);
$new->_setClean();
$new->_data['className'] = 'ApprovalActionMajorRouter';
return $new;
}
static public function save($models)
{
$modelsToInsert = new Unl_Model_Collection(__CLASS__);
$modelsToUpdate = new Unl_Model_Collection(__CLASS__);
if (!Unl_Util::isArray($models)) {
$model = $models;
$models = new Unl_Model_Collection(__CLASS__);
$models[$model->getId()] = $model;
}
foreach ($models as $model) {
if ($model->_cleanData['approvalActionId'] && $model->getId()) {
if ($model->_cleanData != $model->_data) {
$modelsToUpdate[] = $model;
}