DB\SQL\Mapper::copyfrom PHP Метод

copyfrom() публичный Метод

Hydrate mapper object using hive array variable
public copyfrom ( $var, $func = NULL ) : null
$var array|string
$func callback
Результат null
    function copyfrom($var, $func = NULL)
    {
        if (is_string($var)) {
            $var = \Base::instance()->get($var);
        }
        if ($func) {
            $var = call_user_func($func, $var);
        }
        foreach ($var as $key => $val) {
            if (in_array($key, array_keys($this->fields))) {
                $this->set($key, $val);
            }
        }
    }

Usage Example

Пример #1
0
 /**
  * 支持从 数组 中复制相应字段
  *
  * @param mixed $src     可以是字符串,比如 'POST',那么 $f3 会自动从 $_POST[] 复制,
  *                       也可以是 array(...),自动从这个数组中复制
  * */
 public function copyFrom($src, $func = null)
 {
     global $f3;
     $randomKeyName = $src;
     if (is_array($src)) {
         $randomKeyName = md5(time() . 'copyFrom' . $this->table);
         $f3->set($randomKeyName, $src);
     }
     parent::copyfrom($randomKeyName, $func);
     if ($src != $randomKeyName) {
         $f3->clear($randomKeyName);
     }
 }