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


PHP MUtil_Model_ModelAbstract::loadFirst方法代码示例

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


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

示例1: transformLoadSubModel

 /**
  * Function to allow overruling of transform for certain models
  *
  * @param \MUtil_Model_ModelAbstract $model Parent model
  * @param \MUtil_Model_ModelAbstract $sub Sub model
  * @param array $data The nested data rows
  * @param array $join The join array
  * @param string $name Name of sub model
  * @param boolean $new True when loading a new item
  * @param boolean $isPostData With post data, unselected multiOptions values are not set so should be added
  */
 protected function transformLoadSubModel(\MUtil_Model_ModelAbstract $model, \MUtil_Model_ModelAbstract $sub, array &$data, array $join, $name, $new, $isPostData)
 {
     if (1 === count($join)) {
         // Suimple implementation
         $mkey = key($join);
         $skey = reset($join);
         $mfor = \MUtil_Ra::column($mkey, $data);
         // \MUtil_Echo::track($mfor);
         if ($new) {
             $sdata = $sub->loadNew(1);
         } else {
             $sdata = $sub->load(array($skey => $mfor));
         }
         // \MUtil_Echo::track($sdata);
         if ($sdata) {
             $skeys = array_flip(\MUtil_Ra::column($skey, $sdata));
             $empty = array_fill_keys(array_keys(reset($sdata)), null);
             foreach ($data as &$mrow) {
                 $mfind = $mrow[$mkey];
                 if (isset($skeys[$mfind])) {
                     $mrow += $sdata[$skeys[$mfind]];
                 } else {
                     $mrow += $empty;
                 }
             }
         } else {
             $empty = array_fill_keys($sub->getItemNames(), null);
             foreach ($data as &$mrow) {
                 $mrow += $empty;
             }
         }
         // \MUtil_Echo::track($mrow);
     } else {
         // Multi column implementation
         $empty = array_fill_keys($sub->getItemNames(), null);
         foreach ($data as &$mrow) {
             $filter = $sub->getFilter();
             foreach ($join as $from => $to) {
                 if (isset($mrow[$from])) {
                     $filter[$to] = $mrow[$from];
                 }
             }
             if ($new) {
                 $sdata = $sub->loadNew();
             } else {
                 $sdata = $sub->loadFirst($filter);
             }
             if ($sdata) {
                 $mrow += $sdata;
             } else {
                 $mrow += $empty;
             }
             // \MUtil_Echo::track($sdata, $mrow);
         }
     }
 }
开发者ID:GemsTracker,项目名称:MUtil,代码行数:67,代码来源:JoinTransformer.php

示例2: setRow

 /**
  * Switch to single row mode and set that row.
  *
  * @param array $row Or load from model
  * @return \MUtil_Model_Format_DisplayFormatter (continuation pattern)
  * @throws \MUtil_Model_ModelException
  */
 public function setRow(array $row = null)
 {
     $this->setMode(self::MODE_SINGLE_ROW);
     if (null === $row) {
         // Stop tracking usage, in row mode it is unlikely
         // all fields have been set.
         $this->model->trackUsage(false);
         $row = $this->model->loadFirst();
         if (!$row) {
             $row = array();
         }
     }
     $this->_data = $row;
     if ($this->_chainedBridge) {
         $this->_chainedBridge->_data = $this->_data;
     }
     $this->setRepeater(array($this->_data));
     return $this;
 }
开发者ID:GemsTracker,项目名称:MUtil,代码行数:26,代码来源:BridgeAbstract.php


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