Class hasOne 中的动态名称不起作用

Class name dynamically in hasOne not working

public function getResource() {
 return $this->hasOne(User::className(), ['id' => 'resource_id']);
}

这个功能工作正常但是当我使用这个

public function getResource() {
 $model = ucfirst($this->resource_type);
 return $this->hasOne($model::className(), ['id' => 'resource_id']);
}

它给我错误 "Class 'User' not found"。 谢谢

如果动态指定,则必须使用包含名称空间的名称。

 public function getResource() {
    $model = "api\models\".ucfirst($this->resource_type);
    return $this->hasOne($model::className(), ['id' => 'resource_id']);
}