我有 2 张桌子(学生和员工)
student(reg_no , s_name, dept, f_name) reg_no 是主键 employee(e_no,design,salary,reg_no) reg_no 是外键参考 student(reg_no)。
我想显示来自员工的 e_no、design 和来自学生表的 s_name、dept。所以我完整的 cgridview 将是
e_no,设计,s_name,部门
我的员工/admin.php 代码
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'employee-grid',
'dataProvider'=>$model->searchEmployees(),
//'filter'=>$model,
'columns'=>array(
'e_no',
'e_name',
'design',
'salary',
'reg_no',
array('name'=>'student.s_name', 'value'=>'$data->student->s_name'), // student name
'salary', // employee.salary
array(
'class'=>'CButtonColumn',
),
),
));
?>
我的 searchEmployees() 的 model/employee.php 代码
public function searchEmployees()
{
$criteria=new CDbCriteria;
$criteria->alias = 'i';
$criteria->compare('e_no',$this->e_no);
$criteria->compare('e_name',$this->e_name,true);
$criteria->compare('design',$this->design,true);
$criteria->compare('salary',$this->salary);
$criteria->compare('reg_no',$this->reg_no);
$criteria->join= 'JOIN student d ON (i.reg_no=d.reg_no)';
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'reg_no ASC',
),
));
}
但我面临错误
未定义属性“Employee.studentname”。
如何解决错误PLZ帮助。
谢谢