【问题标题】:How To Write A Customised Query To Fetch Result Array An Display如何编写自定义查询以获取结果数组并显示
【发布时间】:2013-12-12 11:35:43
【问题描述】:

以下是我的疑问,如何在 yii 中放置视图、模型、控制器中的代码

select productid, count(*) from fc_member group by productid order by count(*)desc LIMIT 3

请告诉我我是新手 我确实尝试过,但后来不知道它的方式和内容:(

控制器

public function actiondsplayproduct()
{
    $model=new Member;
    $dataProvider=new CActiveDataProvider('$model',
            array(
                    'criteria'=>array(
                            'select'=>'productid, COUNT( * )as Cproductid',
                            'from'=>'fc_member',
                            'group'=>'productid',
                            'order'=>'COUNT( * ) ',

                    ),
            )
    );
    $this->render('dsplayproduct',array(
            'dataProvider'=>$dataProvider,
    ));


    //$this->render('dsplayproduct',array('model'=>$model));
}

查看

$this->widget('zii.widgets.grid.CGridView', array(
        'dataProvider'=> $dataProvider,
        'filter'=>$model,
        'columns'=>array(
                'productid',
                'Cproductid',
        )
));

还会出现以下错误

PHP 警告

include($model.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory

请告诉我我是新手

我确实尝试过,但不知道它是怎么做的 :(

跟随 r d 变化

   model

 `public function top_selling_products() {

   $criteria = new CDbCriteria;
     $criteria->select = 'productid ,  count(*) as pid_count';

     $criteria->from='fc_member';
  $criteria->group = 'productid';
     $criteria->order = 'pid_count desc';


return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
  ));
    }`

  controoler
    `
  public function actiondsplayproduct()
  {

$dataProvider=new CActiveDataProvider('Member');
$this->render('dsplayproduct',array(
    'dataProvider'=>$dataProvider,
));

} view $this->widget('zii.widgets.grid.CGridView', array(

   'dataProvider'=>Member::model()->top_selling_products(),
  'enablePagination' => false,
        'columns'=>array(
'pid',
  'pid_count',
    array(
    'class'=>'CButtonColumn',
      ),
       ),
 )); `

但我得到以下错误

未定义属性“CDbCriteria.from”。

请告诉我我哪里错了

【问题讨论】:

  • $model= new member // $model 是成员的实例
  • 你知道gii代码生成器吗?其次,您的模型中有成员类文件吗?

标签: php mysql yii


【解决方案1】:

我认为它不是字符串$model,而不是您想放入CActiveDataProvider 类...

所以,不是

CActiveDataProvider('$model', ...

但是

CActiveDataProvider('model', ...

或者

CActiveDataProvider($model, ...

【讨论】:

  • $model= new member // $model 是成员的实例
【解决方案2】:

错误表明您没有“$model.php”文件 - 因此您必须在其中放置模型文件的有效和现有名称。

例如:

new CActiveDataProvider('model', ...

【讨论】:

  • $model= new member // $model 是成员的实例
  • 那么为什么实例在字符串中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-16
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多