我知道有很多主题就这一点,但我找遍&试过很多,它仍然没有工作。搜索按相关模型场
我有表:团队和工作者。任何工人都可以被分配到一个团队。所以在工人经理,我想通过团队名称搜索工人。
我得到了列等。但是当我键入队名的一部分 - 搜索启动,但在书面文字dissappears和搜索不关心的领域。我用Firebug检查了AJAX调用,并且有一个名为teamName的字段(我将公共字段添加到了我的Worker模型类中)。但是,当我在我的搜索方法中使用print_r条件时 - 没有条件。 这怎么可能?我如何执行相关字段的搜索?
EDIT(我的检索算法()方法):
public function dsearch()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('idWorker',$this->idWorker);
$criteria->compare('idLeaderType',$this->idLeaderType);
$criteria->compare('t.idTeam',$this->idTeam);
$criteria->compare('idVoip',$this->idVoip);
$criteria->compare('workLogin',$this->workLogin,true);
$criteria->compare('workPass',$this->workPass,true);
$criteria->compare('name',$this->name,true);
$criteria->compare('surname',$this->surname,true);
$criteria->compare('madeCalls',$this->madeCalls);
$criteria->compare('deleted',$this->deleted);
$criteria->compare('liveChanges',$this->liveChanges);
$criteria->compare('confirmer',$this->confirmer);
$criteria->compare('oldWorkerNum',$this->oldWorkerNum);
$criteria->compare('idDepart',$this->idDepart);
$criteria->compare('Team.name', $this->teamName, true);
$criteria->with=array('Team');
$criteria->together = true;
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
您是否已经完成了本教程:http://www.yiiframework.com/wiki/281/searching-and-sorting-by-related-model-in-cgridview/ – Kai 2013-03-04 15:22:59
您是否已将'teamName'属性设置为在您的模型规则中安全吗? – dInGd0nG 2013-03-04 16:21:06
@ dInGd0nG - 是的。 – Joe 2013-03-05 07:15:27