0

我有表格反馈和用户,我正在尝试在反馈页面上显示用户的图像。我正在使用网格视图,这是我的网格视图。

        [   'attribute' => 'iduser.photo',
            'headerOptions' => ['width' => '20px'],
            'format' => 'image',
            'value'=>  function($data) { return $data->imageurl; },
        ],

和模型

public function getImageurl()
{
    return \Yii::$app->request->BaseUrl.'/../../'.$this->hasOne(User::className(), ['photo' => 'photo']);

}

我得到正确的 url 但照片名是错误的结果是“照片”,我想获取数据表单实体照片?

4

1 回答 1

0

在您的模型中,您应该有一种方法来获取与您的反馈相关的用户,如下所示:

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

然后你的 getImageurl 方法应该是这样的:

public function getImageurl()
{
    return \Yii::$app->request->BaseUrl.'/../../'.$this->user->photo;
}

我建议检查Aliases,您可以使用它们而不是\Yii::$app->request->BaseUrl. 例如,这是我用来获取文件 url 以显示给用户的实现:

public function getFileUrl() {
    return Yii::getAlias('@web/uploads/'.$this->fileName);
}
于 2015-08-25T23:56:24.213 回答