簡體   English   中英

在ListView yii2中顯示JSON數據

[英]Display JSON data in listview yii2

我有一個問題,是否可以在yii2的列表視圖中顯示JSON數據?

另一個問題是這是我的view代碼

<div class="panel-group" id="accordion">
  <?= \yii\widgets\ListView::widget([
    'dataProvider' => $dataProvider,
    'itemView' => 'listview',
    'layout' => "{pager}\n{items}\n{pager}",
  ]); ?>
</div>

這是我的listview.php文件代碼

 <div data-toggle="collapse" href="#collapse'<?= $model->id ?>'" id="title" class="panel-heading ads-heading">
    <h4 class="panel-title"><?= $model->title ?></h4>
    <div class="pull-right">
        <button type="button" id="'<?= $model->id ?>'" onclick="AdsPost(this)"
                class="checkin-btn btn btn-xs btn-danger"> View Ads
        </button>
    </div>
</div>

這是我的controller代碼

 public function actionEvent()
 {
    $connection=Yii::$app->db;
    $command = $connection->createCommand("SELECT * from Advertisement where maincategory=2 AND subcategory=5");
    $dataReader=$command->queryAll(); // execute a query SQL

    $dataProvider = new ActiveDataProvider([
        'query' => $data,

    ]);
    return $this->render('event' ,['dataProvider' => $dataProvider]);
}

我也嘗試過類似的方法,但是效果不佳

$query = new Query();
    $query  ->select(['*'])
        ->from('Advertisement')
        ->where('maincategory=1')

    $command = $query->createCommand();

    $data = $command->queryAll();

    $dataProvider = new ActiveDataProvider([
        'query' => $data,

    ]);
    return $this->render('index' ,['dataProvider' => $dataProvider]);

那我在做什么錯呢? 我問一個問題也要處理JSON數據,因為如果我可以將JSON數據直接發送到Listview ,那么我的生活就很輕松

如果它太復雜,我也可以管理。

你可以這樣嘗試

在這種情況下,錯誤是分配$ data而不是$ dataReader

public function actionEvent()
{
   $connection=Yii::$app->db;
   $command = $connection->createCommand("SELECT * from Advertisement where maincategory=2 AND subcategory=5");
   $dataReader=$command->queryAll(); // execute a query SQL

   $dataProvider = new ActiveDataProvider([
    'query' => $dataReader,

   ]);
   return $this->render('event' ,['dataProvider' => $dataProvider]);
}

要么

$query = new Query();
$query->from('Advertisement')
    ->where('maincategory = 2 and subcategory = 5');

$command = $query->createCommand();

$data = $command->queryAll();

$dataProvider = new ActiveDataProvider([
    'query' => $data,

]);
return $this->render('index' ,['dataProvider' => $dataProvider]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM