/**
* 附加查询表达式
* @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;
}