think\model\Merge::attachQuery PHP Метод

attachQuery() защищенный статический Метод

附加查询表达式
protected static attachQuery ( Query $query ) : Query
$query Think\Db\Query 查询对象
Результат Think\Db\Query
    protected static function attachQuery($query)
    {
        $class = new static();
        $master = $class->name;
        $fields = self::getModelField($query, $master, '', $class->mapFields);
        $query->alias($master)->field($fields);
        foreach ($class->relationModel as $key => $model) {
            $name = is_int($key) ? $model : $key;
            $table = is_int($key) ? $query->getTable($name) : $model;
            $query->join($table . ' ' . $name, $name . '.' . $class->fk . '=' . $master . '.' . $class->getPk());
            $fields = self::getModelField($query, $name, $table, $class->mapFields);
            $query->field($fields);
        }
        return $query;
    }