2013-12-12 35 views
0

以下是我的查询我怎样我知道代码视图,模型,控制器警予如何编写自定义的语句来抓取结果数组的显示

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 

请让我知道我是一个新手

我没有尝试,但后来不知道它是如何和什么的:(

以下RD改变

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 $这个 - >插件( 'zii.widgets.grid.CGridView',阵列(

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

,但我得到了如下因素误差

属性“CDbCriteria.from”未定义。

PLZ现在让我在哪里,我错了

+0

$模式=新成员// $模式是会员 – user3016447

+0

的情况你了解GII代码生成器。其次,你的模型中是否有成员类文件? –

回答

0

我认为这不是字符串$model比你想投入CActiveDataProvider类...

所以,它不是

CActiveDataProvider('$model', ... 

CActiveDataProvider('model', ... 

CActiveDataProvider($model, ... 
+0

$ model = new member // $ model是成员的实例 – user3016447

0

错误说你没有“$ model.php”文件 - 所以你必须在那里放置模型文件的有效名称和现有名称。

例如:

new CActiveDataProvider('model', ... 
+0

$ model = new member // $ model是成员的实例 – user3016447

+0

为什么实例是字符串? –

相关问题