SEVNTEC
@SEVNTEC
HTML-верстка

Выборка из декомпенсированной таблицы?

Есть таблица с комментариями, имеет поля (вывод комментов в 2-уровня):
ID | PARENT_ID (default NULL)| TOPIC_ID | .....

Модель топика:
class Topic {
 ....
 public function getComments() {
   return $this->hasMany(Comments::className(), ['id' => 'topic_id']);
 }
}


Модель коментов:
class Comments {
....
public function getAnswer() {
return self::find()->where(['parent_id' => $this->id])->all();
}
}

Во вьюхе:
<? foreach($model->comments as $comment): ?>
 <div class="comment"><?= $comments->content  ?></div>

 <? if(!empty($comments->answer)): ?>

  <? foreach($comments->answer as $answer): ?>
    <div class="answer"><?= $answer->content ?></div>
  <? endforeach; ?>

 <? endif;?>

<? endforeach;>


При текущем getAnswer() почему то возвращает только 1 запись ответа на комментарий, хотя в некоторых случаях их более 1, почему так? И можно ли связать таблицу? Типа:
public function getAnswer() {
   return $this->hasMany(self::className(), ['id' => 'parent_id'])->where(['parent_id' => $this->id])->all();
 }
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы