Всем, привет. Подскажи пожалуйста советом.
В админке есть возможность просмотреть пользователя и его профиль. Таблицы Users и Profiles связаны.
public function getProfile(): ActiveQuery
{
return $this->hasOne(Profiles::class, ['user_id' => 'id']);
}
UserController:
public function actionView($id): string
{
return $this->render('view', [
'model' => $this->findModel($id),
]);
}
Во view.php вывожу 2 штуки DetailView:
1. Первый DetailView с юзером:
spoiler<?= DetailView::widget([
'model' => $model,
'options' => [
'class' => 'table'
],
'attributes' => [
'id',
'username',
'email:email',
'status',
'created_at:datetime',
'updated_at:datetime',
],
]) ?>
2. Второй DetailView с профилем:
spoiler<?= DetailView::widget([
'model' => $model->profile,
'options' => [
'class' => 'table'
],
'attributes' => [
[
'attribute' => 'fio',
'value' => function(Profiles $profile) {
return $profile->lastName . ' ' . $profile->firstName . ' ' . $profile->midName;
}
],
[
'attribute' => 'phone',
'value' => function(Profiles $profile) {
return Html::a($profile->phone, 'tel:'.str_replace(array('(', ')', ' ', '-'), '', $profile->phone));
},
'format' => 'raw'
],
],
]) ?>
Если профиль заполнен то все данные корректно выводятся, а если не заполнен, то соответственно и записи в таблице Profiles не существует.
Вот ошибка:
Как мне правильно вывести шаблон и в полях отобразить сообщения, что данных просто нет.
За ранее всем большое спасибо))