Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2019, 19:51   #1
rosqwlll
Пользователь
 
Аватар для rosqwlll
 
Регистрация: 28.09.2015
Сообщений: 89
По умолчанию как сопоставлять id чтоб корректно отображалась инфа для каждого пользователя.?

Доброго времени,

Мне нужно вставлять инфу рядом с аватаром на форуме вытягиваю из Б\Д так:
view
Код:
        <?php echo Yii::$app->user->identity->profile->location; ?>
                </br>
                <?php echo Yii::$app->user->identity->profile->website; ?>
                </br>
                <?php echo Yii::$app->user->identity->profile->signature; ?>
                </br>
                <?php echo Yii::$app->user->identity->profile->birthday; ?>
работает..

но вот из за того что identity выдаёт только данные из профиля того юзьверя который залогинился,
без identity выдаёт ошибку
Getting unknown property: yii\web\User:rofile
в моделе user так
Код:
 
 public function getProfile()
   {
        return $this->hasOne(Profile::className(), ['user_id' => 'id']);
   }
понимаю что нужно сопоставлять id чтоб корректно отображалась инфа для каждого пользователя.?
Но запутался,как это реализовать?

Последний раз редактировалось rosqwlll; 20.01.2019 в 19:54.
rosqwlll вне форума Ответить с цитированием
Старый 21.01.2019, 11:01   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

не очень ясен сам вопрос
по поводу
Цитата:
но вот из за того что identity выдаёт только данные из профиля того юзьверя который залогинился,
без identity выдаёт ошибку
тут все верно - чего ж ему выводить если ничего нет )))
обычно делается как то так (возможно условие имеет немного другой вид

Код:
<?php 
if (Yii::$app->user) {
echo Yii::$app->user->identity->profile->location;
echo '</br>';
echo Yii::$app->user->identity->profile->website;
echo '</br>';
echo Yii::$app->user->identity->profile->signature;
echo '</br>';
echo Yii::$app->user->identity->profile->birthday;
} else {
echo 'Гость';
}
ну и мне кажется.. .что Yii довольно современная штука и поддерживает какие нить шаблонизаторы "из коробки" а не только тупые php теги и echo

ну и все это именно про текущего пользователя
если нужно выводить список пользователей вообще - сначаал получаете данные по пользователю - потом отдаете в вьюху - там отображаете
ADSoft вне форума Ответить с цитированием
Старый 22.01.2019, 00:25   #3
rosqwlll
Пользователь
 
Аватар для rosqwlll
 
Регистрация: 28.09.2015
Сообщений: 89
По умолчанию

//но вот из за того что identity выдаёт только данные из профиля того юзьверя который залогинился,
без identity выдаёт ошибку
//
ну с того с кого зашёл и выдаёт его данные из БД
rosqwlll вне форума Ответить с цитированием
Старый 22.01.2019, 00:34   #4
rosqwlll
Пользователь
 
Аватар для rosqwlll
 
Регистрация: 28.09.2015
Сообщений: 89
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
не очень ясен сам вопрос
по поводу

тут все верно - чего ж ему выводить если ничего нет )))
обычно делается как то так (возможно условие имеет немного другой вид

Код:
<?php 
if (Yii::$app->user) {
echo Yii::$app->user->identity->profile->location;
echo '</br>';
echo Yii::$app->user->identity->profile->website;
echo '</br>';
echo Yii::$app->user->identity->profile->signature;
echo '</br>';
echo Yii::$app->user->identity->profile->birthday;
} else {
echo 'Гость';
}
ну и мне кажется.. .что Yii довольно современная штука и поддерживает какие нить шаблонизаторы "из коробки" а не только тупые php теги и echo

ну и все это именно про текущего пользователя
если нужно выводить список пользователей вообще - сначаал получаете данные по пользователю - потом отдаете в вьюху - там отображаете

Цитата:
Сообщение от ADSoft Посмотреть сообщение
не очень ясен сам вопрос
по поводу

тут все верно - чего ж ему выводить если ничего нет )))
обычно делается как то так (возможно условие имеет немного другой вид

Код:
<?php 
if (Yii::$app->user) {
echo Yii::$app->user->identity->profile->location;
echo '</br>';
echo Yii::$app->user->identity->profile->website;
echo '</br>';
echo Yii::$app->user->identity->profile->signature;
echo '</br>';
echo Yii::$app->user->identity->profile->birthday;
} else {
echo 'Гость';
}
ну и мне кажется.. .что Yii довольно современная штука и поддерживает какие нить шаблонизаторы "из коробки" а не только тупые php теги и echo

ну и все это именно про текущего пользователя
если нужно выводить список пользователей вообще - сначаал получаете данные по пользователю - потом отдаете в вьюху - там отображаете
это не проблема вывести данные из бд ,но если пользователей будет тысячи,
вот скажите свой метод - как вы отображаете нужного пользователя?
rosqwlll вне форума Ответить с цитированием
Старый 22.01.2019, 08:54   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

по Yii не скажу не пользовал....
но смысл такой - делаете запрос - получаете всех или нек-е кол-во пользователей - в цикле выводите их
...наверное нечто такое будет -
Код:
$users = Yii::$app->user->all();
в laravel например так можно:
Код:
$users = User::all()->get();
ADSoft вне форума Ответить с цитированием
Старый 23.01.2019, 13:02   #6
rosqwlll
Пользователь
 
Аватар для rosqwlll
 
Регистрация: 28.09.2015
Сообщений: 89
По умолчанию

всё разобрался.
решение оказалось гараздо проще чем я думал
тут вы правы
//современная штука
rosqwlll вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга с информацией предназначенной для каждого пользователя отдельно. veronika36 Microsoft Office Word 4 05.05.2015 22:22
Как правильно скорректировать код CSS, чтобы кнопка корректно отображалась в браузере SAFARI ? pnzh385 HTML и CSS 4 16.04.2015 23:16
свой реестр для каждого пользователя виндовс MillenniuM32 Win Api 2 25.02.2013 00:00
Разделение частот процессора на каждого пользователя. astahovsimeon Операционные системы общие вопросы 1 17.10.2008 18:56
Как настроить IE чтоб корректно отображались Active X Stilet HTML и CSS 1 15.05.2008 22:45