@hollanditkzn

Почему запрос выводит 1 значение?

Не могу понять, почему когда я в mysql пишу запрос SELECT * FROM `comment` WHERE `id_zakaz` =3276, то у меня выводит 6 записей на запрос, но когда в yii2 я пытаюсь сделать вот такой запрос сделать
$comment = Comment::find()->->addSelect(['DATE(date) as just_date','TIME(date) as time','comment','id_user'])
            ->indexBy('id_zakaz')
            ->joinWith(['idUser'])
            ->where(['id_zakaz' => 3276])
            ->asArray()
            ->all();;
$comment = ArrayHelper::index($comment, null, 'just_date');

То он у меня выводит 1 записей, как сделать чтобы он выводил сразу 6 записей
$comment array (1)
    ⇄→2017-12-31 => array (1)
        ⇄→0 => array (5)
            ⇄just_date => string (10) "2017-12-31"
            ⇄time => string (8) "10:56:30"
            ⇄comment => UTF-8 string (8) "Как дела"
            ⇄id_user => string (1) "5"
            ⇄→idUser => array (12)

Примерно такие данные получаю
Снять addSelect не вариант потому что у меня во вьюшке должен выводить в таком формате комментарии
_________
10 января 2018
10:56 Не дозвонился до клиента Администратор
_________
<?php if ($comment == null){
                echo 'Комментариев пока нет';
            } else {
                foreach ($comment as $key=>$com){
                    echo '<b>'.Yii::$app->formatter->asDate($key, 'php:j M Y').'</b><br>';
                    foreach ($com as $value=>$name){
                        echo Yii::$app->formatter->asTime(ArrayHelper::getValue($name, 'time'), 'php:H:i').' '.ArrayHelper::getValue($name, 'comment').' '.ArrayHelper::getValue($name, 'idUser.name').'<br>';
                    }
                }
            } ?>
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
kawabanga
@kawabanga
->indexBy('id_zakaz')

WHERE `id_zakaz` =3276

у вас массив формируется с индексами от этому полю , отсюда у вас одно значение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы