$user = Yii::$app->user;
$user = User::find()->where(['username' => $login])->with(['user', 'person'])->one();
where(['username' => $login])
Вам уже писали, что вот это бред.$user = Yii::$app->user; $user = User::find()->where(['username' => $login])->with(['user', 'person'])->one();
..........................................................................................
Но Вы с упрямством длинноухого животного продолжаете писать эту ахинею в коде.
Вам уже писали, что вот это бред.$user = Yii::$app->user; $user = User::find()->where(['username' => $login])->with(['user', 'person'])->one();
А вот это sql-injectionwhere(['username' => $login])
Но Вы с упрямством длинноухого животного продолжаете писать эту ахинею в коде.
public function getUser()
{
return $this->hasOne(User::class, ['id' => 'user_id']);
}
public function getPerson()
{
return $this->hasOne(Person::class, ['user_id' => 'id']);
}
public function actionWall($login){
if (
($user = User::find()
->where('username=:username',[':username' => $login])
->with(['person'])
->one()) == null
) {
throw new NotFoundHttpException(Yii::t('app', 'The requested user does not exist.'));
}
return $user;
}
echo $user->person->rating;
У меня вопрос не про связи, а про вывод данных
$user = Yii::$app->user;
$user = User::find()->where(['username' => $login])->with(['user', 'person'])->one();
where(['username' => $login])
return $user;
?{
return $this->hasOne(User::class, ['id' => 'user_id'])->inverseOf('person');
}
public function getUser()
{
return $this->hasOne(User::class, ['id' => 'user_id'])->inverseOf('person');
}
->inverseOf('person');
? Уберите.
Действие actionWall() должно содержать тот код, который я писал в другом Вашем вопросе.
Вы переписали? Действие отрабатывает без ошибок?
Если всё хорошо, что в действии показывает этот код?
Куда Вы возвращаете $user в действии? Где оно должно использоваться?