hasOne中的类名动态不起作用

时间:2017-08-18 11:51:40

标签: yii2 yii2-advanced-app

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']);
}

它给我错误“未找到类'用户'”。 感谢

1 个答案:

答案 0 :(得分:3)

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

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