Think\Db\Query::alias PHP Method

alias() public method

指定数据表别名
public alias ( mixed $alias )
$alias mixed 数据表别名
    public function alias($alias)
    {
        if (is_array($alias)) {
            foreach ($alias as $key => $val) {
                $this->options['alias'][$key] = $val;
            }
        } else {
            if (isset($this->options['table'])) {
                $table = is_array($this->options['table']) ? key($this->options['table']) : $this->options['table'];
            } else {
                $table = $this->getTable();
            }
            $this->options['alias'][$table] = $alias;
        }
        return $this;
    }

Usage Example

Example #1
0
 /**
  * 附加查询表达式
  * @access protected
  * @param \think\db\Query $query 查询对象
  * @return \think\db\Query
  */
 protected static function attachQuery($query)
 {
     $master = basename(str_replace('\\', '/', get_called_class()));
     $class = new static();
     $fields = self::getModelField($master, '', $class->mapFields);
     $query->alias($master)->field($fields);
     foreach (static::$relationModel as $key => $model) {
         $name = is_int($key) ? $model : $key;
         $table = is_int($key) ? self::db()->name($name)->getTable() : $model;
         $query->join($table . ' ' . $name, $name . '.' . $class->fk . '=' . $master . '.' . $class->getPk());
         $fields = self::getModelField($name, $table, $class->mapFields);
         $query->field($fields);
     }
     return $query;
 }