我做了标签 - > Profil并将他的网址设置为/ bloggers / view但是当我登录并尝试查看用户profil时它会向我显示错误。我在网络上搜索但没有意识到如何解决问题!你们能帮助我吗?为什么我的actionView不会记录已登录用户的$ id(在我的情况下是Blogger)?
public function actionView($id)
{
return $this->render('view', [
'model' => $this->findModel($id),
]);
}
我正在通过此操作注册用户:
public function actionRegister()
{
$model = new RegisterForm();
$user = new Blogger();
if(isset($_POST['register-button']))
{
$model->attributes = $_POST['RegisterForm'];
if($model->validate())
{
$user->username = $model->username;
$user->email = $model->email;
$pass_hash = md5($model->password);
$user->password = $pass_hash;
$user->save();
\Yii::$app->user->login($user);
$this->redirect('index');
}
}
return $this->render('register',[
'model' => $model,
]);
}
我仍然很难新手和mayba我在代码中做了愚蠢的事情,但请原谅我!谢谢你的推荐!
答案 0 :(得分:0)
actionView将根据Yii格式从url获取id参数。
例如: - domain.com/xxx?id=5或domain.com/xxx/id/6
如果要传递已记录的用户ID,则必须修改actionView,如
public function actionView()
{
$id = \Yii::$app->user->identity->id; // id should match with user table column
return $this->render('view', [
'model' => $this->findModel($id),
]);
}