从yii中的多个表中获取数据

时间:2012-02-09 18:38:45

标签: yii

我有2张桌子

AutoScriptArgumentClass

ID
ScriptArgumentClass

AutoTestScriptMeta

ID
AutoTestScript_id
ScriptArgumentClass_id

这是我的查询。

select sac.id,sac.ScriptArgumentClassType
from AutoScriptArgumentClass sac,AutoTestScriptMeta tsm
where tsm.ScriptArgumentClass_id = sac.id
and tsm.AutoTestScript_id=129

我如何在yii

中写这个

我想以这种方式:

**$data=AutoTestScript::model()->findAll('Category_id=:parent_id',
        array(':parent_id'=>(int) $_POST['TestCaseCategory']));**

        $data=CHtml::listData($data,'id','ScriptName');
        foreach($data as $value=>$name)
        {
            echo CHtml::tag('option',
            array('value'=>$value),CHtml::encode($name),true);
        }

由于

2 个答案:

答案 0 :(得分:0)

我担心这是不可能的,因为您试图将多个表中的数据转换为特定表的CActiveRecordModel实例。

此模型没有其他表的列的实例,因此它不能用于您。

感谢。

答案 1 :(得分:0)

它有可能在两个条件下。首先在控制器中编写一个函数,其中包含正确的查询并从cgrid视图调用函数,或者您可以更有效地检查页面 http://www.yiiframework.com/wiki/281/searching-and-sorting-by-related-model-in-cgridview/

确保表格保持相关性。如果您的表格是MYISAM格式,请将其更改为INODB并尝试..希望它适用于您