gpt4 book ai didi

yii - CGridView 显示来自两个表的数据?

转载 作者:行者123 更新时间:2023-12-02 07:06:42 25 4
gpt4 key购买 nike

我想设置一个 CGridView。我希望在一个 View 中显示来自 2 个不同表的数据。数据来自一个名为 student 的表和另一个名为 employee 的表。

员工由学生推荐(reg_no)

学生表

reg_no(主键)姓名部门f_name

员工表

e_no(主键)e_name设计薪水reg_no(外键)

我想在单个 GridView 中显示来自学生表的 (reg_no,s_name,f_name) 和来自员工表的 (design,salary),任何人都可以提供一个想法或任何教程,

最佳答案

首先确保您的模型和关系定义正确。检查模型以确保关系存在。例如您的员工模型中应该有这样的条目;

function relations() {
return array(
'reg_no'=>array( self::BELONGS_TO, 'Student', 'reg_no' ),
);
}

在 CGridView 中使用 CActiveDataProvider 而不是数组作为数据源。

$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model->searchEmplyees(),
.......
.......

将另一个搜索标准添加到您的模型中,将数据作为 CActiveDataProvider 返回。

public function seachEmployees()
{
$criteria=new CDbCriteria;
$criteria->alias = 'i';
$criteria->compare('id',$this->id);
.......
.......
$criteria->join= 'JOIN 'your table name' d ON (i.id=d.id)';

return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'order_in_sna ASC',
),
));
}

我刚刚输入这段代码供您引用,以便您了解 Yii 是如何为您处理所有这些的。 This is another good example, again from the Yii Framework site .

关于yii - CGridView 显示来自两个表的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10780234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com