think\Model::__set PHP Method

__set() public method

修改器 设置数据对象的值
public __set ( string $name, mixed $value ) : void
$name string 名称
$value mixed
return void
    public function __set($name, $value)
    {
        $this->setAttr($name, $value);
    }

Usage Example

Example #1
0
 /**
  * 一对一 关联模型预查询拼装
  * @access public
  * @param string $model 模型名称
  * @param string $relation 关联名
  * @param Model $result 模型对象实例
  * @return void
  */
 protected function match($model, $relation, &$result)
 {
     $modelName = Loader::parseName(basename(str_replace('\\', '/', $model)));
     // 重新组装模型数据
     foreach ($result->toArray() as $key => $val) {
         if (strpos($key, '__')) {
             list($name, $attr) = explode('__', $key, 2);
             if ($name == $modelName) {
                 $list[$name][$attr] = $val;
                 unset($result->{$key});
             }
         }
     }
     if (!isset($list[$modelName])) {
         // 设置关联模型属性
         $list[$modelName] = [];
     }
     $result->__set($relation, new $model($list[$modelName]));
 }