<?php /** * This is the model class for table "orders". * * The followings are the available columns in table 'orders': * @property integer $id * @property integer $bill_id * @property integer $mid * @property integer $food_id * @property integer $qty * @property string $created */ class Orders extends CActiveRecord { /** * @return string the associated database table name */ public function tableName() { return 'orders'; } /** * @return array validation rules for model attributes. */ public function rules() { // NOTE: you should only define rules for those attributes that // will receive user inputs. return array( array('bill_id, mid, food_id, qty', 'numerical', 'integerOnly'=>true), array('created', 'safe'), // The following rule is used by search(). // @todo Please remove those attributes that should not be searched. array('id, bill_id, mid, food_id, qty, created', 'safe', 'on'=>'search'), ); } /** * @return array relational rules. */ public function relations() { // NOTE: you may need to adjust the relation name and the related // class name for the relations automatically generated below. return array( 'bill' => array(self::BELONGS_TO, 'Bill', 'bill_id'), 'food' => array(self::BELONGS_TO, 'food', 'food_id') ); } /** * @return array customized attribute labels (name=>label) */ public function attributeLabels() { return array( 'id' => 'ID', 'bill_id' => 'Bill', 'mid' => 'Mid', 'food_id' => 'Food', 'qty' => 'Qty', 'created' => 'Created', ); } /** * Retrieves a list of models based on the current search/filter conditions. * * Typical usecase: * - Initialize the model fields with values from filter form. * - Execute this method to get CActiveDataProvider instance which will filter * models according to data in model fields. * - Pass data provider to CGridView, CListView or any similar widget. * * @return CActiveDataProvider the data provider that can return the models * based on the search/filter conditions. */ public function search() { // @todo Please modify the following code to remove attributes that should not be searched. $criteria=new CDbCriteria; $criteria->compare('id',$this->id); $criteria->compare('bill_id',$this->bill_id); $criteria->compare('mid',$this->mid); $criteria->compare('food_id',$this->food_id); $criteria->compare('qty',$this->qty); $criteria->compare('created',$this->created,true); return new CActiveDataProvider($this, array( 'criteria'=>$criteria, )); } public function countTypeFoodGraph() { $sum= Yii::app()->db->createCommand() ->select('count(orders.food_id) as num ,typefood.name as name') ->from('food') ->join('typefood','food.type_id=typefood.id') ->join('orders','orders.food_id=food.id') ->group('typefood.id') //->where('statusAll=3') ->queryRow(); return $sum; // select count(orders.food_id),typefood.name from orders //inner join food on orders.food_id =food.id //inner join typefood on food.type_id=typefood.id //group by typefood.id } /** * Returns the static model of the specified AR class. * Please note that you should have this exact method in all your CActiveRecord descendants! * @param string $className active record class name. * @return Orders the static model class */ public static function model($className=__CLASS__) { return parent::model($className); } }