当前位置: 首页>>代码示例>>PHP>>正文


PHP MUtil_Model_ModelAbstract::hasItemsUsed方法代码示例

本文整理汇总了PHP中MUtil_Model_ModelAbstract::hasItemsUsed方法的典型用法代码示例。如果您正苦于以下问题:PHP MUtil_Model_ModelAbstract::hasItemsUsed方法的具体用法?PHP MUtil_Model_ModelAbstract::hasItemsUsed怎么用?PHP MUtil_Model_ModelAbstract::hasItemsUsed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MUtil_Model_ModelAbstract的用法示例。


在下文中一共展示了MUtil_Model_ModelAbstract::hasItemsUsed方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: isValid

 /**
  * Returns true if and only if $value meets the validation requirements
  *
  * If $value fails validation, then this method returns false, and
  * getMessages() will return an array of messages that explain why the
  * validation failed.
  *
  * @param  mixed $value
  * @param  array $context
  * @return boolean
  * @throws \Zend_Validate_Exception If validation of $value is impossible
  */
 public function isValid($value, $context = array())
 {
     $this->_setValue($value);
     // Make sure the (optionally filtered) value is in the context
     $context[reset($this->_fields)] = $value;
     $filter = array();
     foreach ($this->_fields as $name) {
         // Return valid when not all the fields to check for are in the context
         if (!isset($context[$name])) {
             return true;
         }
         $filter[$name] = $context[$name];
     }
     $check = array();
     $doGet = $this->_model->hasItemsUsed();
     $keys = $this->_model->getKeys();
     foreach ($keys as $id => $key) {
         if ($doGet) {
             // Make sure the item is used
             $this->_model->get($key);
         }
         if (isset($context[$id])) {
             $check[$key] = $context[$id];
         } elseif (isset($context[$key])) {
             $check[$key] = $context[$key];
         } else {
             // Not all keys are in => therefore this is a new item
             $check = false;
             break;
         }
     }
     $rows = $this->_model->load($filter);
     if (!$rows) {
         return true;
     }
     if (!$check) {
         // Rows where found while it is a new item
         $this->_error(self::ERROR_RECORD_FOUND);
         return false;
     }
     $count = count($check);
     foreach ($rows as $row) {
         // Check for return of the whole check
         if (count(array_intersect_assoc($check, $row)) !== $count) {
             // There exists a row with the same values but not the same keys
             $this->_error(self::ERROR_RECORD_FOUND);
             return false;
         }
     }
     return true;
 }
开发者ID:GemsTracker,项目名称:MUtil,代码行数:63,代码来源:UniqueValue.php


注:本文中的MUtil_Model_ModelAbstract::hasItemsUsed方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。