Mysql 联接表和显示

Mysql 联接表和显示,mysql,listview,yii2,Mysql,Listview,Yii2,我正在使用Yii-PHP框架,试图显示来自两个表的user\u-comment和user\u-reply,这两个表都有一个名为comment\u-id的列 这是注释表 CREATE TABLE `comment` ( `comment_id` int(11) NOT NULL, `byy` varchar(30) NOT NULL, `user_comment` varchar(900) NOT NULL, `topic_id` varchar(30) NOT NULL, `

我正在使用Yii-PHP框架,试图显示来自两个表的user\u-comment和user\u-reply,这两个表都有一个名为comment\u-id的列

这是注释表

CREATE TABLE `comment` (
  `comment_id` int(11) NOT NULL,
  `byy` varchar(30) NOT NULL,
  `user_comment` varchar(900) NOT NULL,
  `topic_id` varchar(30) NOT NULL,
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `up` bigint(11) NOT NULL,
  `down` bigint(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
这是回复表

CREATE TABLE `reply` (
  `reply_id` int(11) NOT NULL,
  `comment_id` int(19) NOT NULL,
  `byy` varchar(29) NOT NULL,
  `user_reply` varchar(29) NOT NULL,
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `up` varchar(29) NOT NULL,
  `down` varchar(29) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我想以列表视图格式显示user_comment和user_reply,并根据comment_id进行排序。我对此有问题

  <?php
    $querys = new Query;
    $querys->select([
        'comment.user_comment', 
        'reply.user_reply']
        )  
      ->from('comment')
      ->join('LEFT OUTER JOIN', 'reply',
            'reply.comment_id =comment.comment_id') ; 
     $command = $querys->createCommand();
    $data = $command->queryAll(); 

    $queryd = new Query;
    $queryd->select([
        'comment.user_comment', 
        'reply.user_reply']
        )  
      ->from('comment')
      ->join('LEFT OUTER JOIN', 'reply',
            'reply.comment_id =comment.comment_id')    
      ->LIMIT(5); 
     $command = $queryd->createCommand();
    $data = $command->queryAll();  


 foreach ($data as $detail) {
        $dataArr[] = array(
            'user_reply' => $detail['user_reply']
        );
      }
          $dataProvider = new ArrayDataProvider([
                'allModels' => $dataArr,
                'pagination' => [
                'pageSize' => 10,
                ],
                'sort' => [
                    'attributes' => ['comment_created_at'],
                ],
            ]);
          echo ListView::widget([
             'dataProvider' => $dataProvider,
             'itemOptions' => ['class' => 'comment-item'],
             'itemView' => 'adapter',

        ]);
    ?>

适配器类

<?php
use yii\helpers\Html;
use yii\helpers\HtmlPurifier;

//var_dump($model);exit;
?>

              <div class="col-lg-12 col-sm-12">
            <section>

            <?php echo $model['user_reply']; ?>


            </section>
          </div>

我得到这个错误:

获取未知属性:未定义索引:用户\u回复

我做错了什么?

试试看

foreach ($data as $detail) {
        $dataArr[] = array(
            'user_reply' => $detail['reply.user_reply']
        );
      }
或者使用别名

$queryd = new Query;
$queryd->select('comment.user_comment as user_comment, 
                reply.user_reply as user_reply')  
->from('comment')
->join('LEFT OUTER JOIN', 'reply',
    'reply.comment_id =comment.comment_id')    
 ->LIMIT(5); 
 $command = $queryd->createCommand();
 $data = $command->queryAll();  

 foreach ($data as $detail) {
        $dataArr[] = array(
            'user_reply' => $detail['user_reply']
        );
      }
对于dataProvider,您必须记住有一个模型集合

<div class="col-lg-12 col-sm-12">
    <section>

      <?php  
          foreach($models as $model){
               //echo $model['user_reply']; 
                echo $model->user_reply; 
          }
        ?>

     </section>
 </div>


无法工作仍在获取未知属性:yii\db\Connection::user\u replyi更新了我的问题如何在适配器中显示i已更新数据提供程序的答案。。如果有用,请将我的答案评定为有用,如“获取语法错误,意外”),预期为“(“让我们看看对象的哪个类
$detail
?仔细查看该类,该类中是否有
user\u reply
属性?如果没有,请使用Gii生成器更新您的模型。