【问题标题】:How to get different data from gridview如何从gridview获取不同的数据
【发布时间】:2016-11-16 02:06:01
【问题描述】:

当我单击 gridview 项目时,我想显示与我的 gridview 不同的记录。现在,当我单击项目时,我有这个网址: http://localhost/test/basic/site/0

我将 actionView 添加到我的控制器以处理该问题,但不知道在其中做什么。在我的 gridview 记录中,编号从 0 开始,但在 db 中,我只有 3、4、5 条记录。我该如何处理? 我在控制器中的方法:

public function actionIndex()
    {
        if(Yii::$app->user->isGuest)
        {
            return $this->redirect(['login']);
        }
        else
        {
        $dataProvider = new SqlDataProvider([
    'sql' => 'SELECT p.id,p.user_id,p.post_title,p.post_text,u.name ' .
             'FROM Posts p '.
             'INNER JOIN User u ' .
             'ON p.user_id = u.id'
]);
        return $this->render('index',['dataProvider'=>$dataProvider]);
        }
    }

在 actionIndex 中,我显示包含我数据库中所有记录的索引页面。 我有另一种方法必须处理点击项目。现在它就像 actionIndex 一样。

public function actionView($id)
   {
       if(Yii::$app->user->isGuest)
       {
           return $this->redirect(['login']);
       }
       else
       {
       $dataProvider = new SqlDataProvider([
   'sql' => 'SELECT p.id,p.user_id,p.post_title,p.post_text,u.name ' .
            'FROM Posts p '.
            'INNER JOIN User u ' .
            'ON p.user_id = u.id'
]);
       return $this->render('index',['dataProvider'=>$dataProvider]);
       }
    }

【问题讨论】:

  • 不清楚你需要什么......使用actionView......你想查看id = 0的用户表单吗? .. 或者您想要一个带有您的用户列表的gridview .. 就像您在index.php 中一样?试着更好地解释你想要做什么..
  • 当点击gridview中的项目时,我想在另一个视图中显示一条记录
  • 好吧..我已经为此发布了答案..
  • U 可以使用 yii1 gii 生成器生成基本的 CRUD 操作。

标签: php yii yii2


【解决方案1】:

通常使用actionView来显示与单个实例相关的值

public function actionView($id)
{
   $model => User::findModel($id);

    return $this->render('view', [
        'model' => $model,
    ]);
}

在views/your_controller/view.php

<div class="my-model-view">

<h3>My Title</h3>


<?= DetailView::widget([
    'model' => $model,
    'attributes' => [
        'your_column1',
        'your_column1',
    ......  
    ],
]) ?>

your_column1 ,.... 是 $model 中属性的名称

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    相关资源
    最近更新 更多