我有表反馈和用户,我试图在反馈页面上显示用户的图像。 我正在使用网格视图,这是我的gridview。
[ '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']);
}
我得到正确的网址,但光子名称错误,结果是“照片”,我想获取数据表单实体照片?
答案 0 :(得分: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);
}