的Yii 1.1應用程序的開發食譜解釋利用相關活動記錄模型的數據用於搜索相關模型和方法。該方法在第193和194頁進行了解釋。我試圖將此方法集成到我的應用程序中,但它不起作用。可能有人解釋我這個功能是不是還在Yii框架版本1.1.8Yii框架:採用關聯的Active Record模型的數據進行搜索
在此位置也是我能找到的搜索有關的活動記錄模型的數據形式的評論。但它也行不通。 http://www.yiiframework.com/doc/api/1.1/CDbCriteria
我有順序表和用戶表
Order表和用戶表有一對多的關係。
用戶有很多訂單和訂單隻有一個用戶。
所以,我編輯以下CDbCriterial包括用戶表的名字和電子郵件領域的訂購表中搜索條目。
Order表有如下關係
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(
'comments' => array(self::HAS_MANY, 'Comment', 'order_id'),
'user' => array(self::BELONGS_TO, 'User', 'user_id'),
'orderstatus' => array(self::BELONGS_TO, 'Orderstatus', 'orderstatus_id'),
'commentCount' => array(self::STAT, 'Comment' , 'order_id')
);
}
這是申請列入
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('order_create_date',$this->order_create_date,true);
$criteria->compare('price',$this->price,true);
$criteria->compare('bank_account_number',$this->bank_account_number,true);
$criteria->compare('hardwaredetail_Id',$this->hardwaredetail_Id);
$criteria->compare('user_id',$this->user_id);
$criteria->compare('order_update_date',$this->order_update_date,true);
$criteria->compare('is_received',$this->is_received);
$criteria->compare('order_received_date',$this->order_received_date,true);
$criteria->compare('is_notify_by_email',$this->is_notify_by_email);
$criteria->compare('warehouse_offered_price',$this->warehouse_offered_price,true);
$criteria->compare('warehouse_offered_price_date',$this->warehouse_offered_price_date,true);
$criteria->compare('orderstatus_id',$this->orderstatus_id);
$criteria->together = true;
$criteria->with = array('user');
$criteria->compare('user.name',$this->user,true);
//$criteria->compare('user.name',$this->user->name);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
和訂單管理編輯頁面顯示提交的名稱如下
搜索/篩選條件與用戶表的名稱<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'order-grid',
'dataProvider'=>$model->search(),
//'filter'=>$model,
'columns'=>array(
'id',
'order_create_date',
'price',
'bank_account_number',
array(
'name'=>'user',
'value'=>'$data->user->name'
),
),
));
返回的錯誤消息
通過施加thaddeusmt給我已經面臨以下錯誤消息的溶液解決id列模糊問題之後。
預先感謝任何幫助
你可以發佈一些你的代碼嗎?至少是樣品.. – 2012-01-27 09:59:07
我已經按照您的要求添加了我的代碼 – KItis 2012-01-27 10:34:17
您收到任何錯誤?並添加了「public $ user」;在第一線順序排列模型? – user677900 2012-01-27 13:11:02