Выборка данных из нескольких таблиц в yii - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть 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 голосов
/ 05 мая 2013

Это возможно в двух условиях.сначала вы пишете функцию в вашем контроллере, которая содержит правильный запрос, и вызываете функцию из представления cgrid, или вы можете проверить страницу более эффективным способом http://www.yiiframework.com/wiki/281/searching-and-sorting-by-related-model-in-cgridview/

, чтобы убедиться, что таблицы поддерживают связь.если ваши таблицы в формате MYISAM, измените их на INODB и попробуйте .. надеюсь, что это работает для вас

0 голосов
/ 21 мая 2012

Боюсь, это будет невозможно, так как вы пытаетесь получить данные из нескольких таблиц в экземпляр CActiveRecordModel конкретной таблицы.

Эта модель не имеет экземпляров столбцов другой таблицы, поэтому она не может вам их использовать.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...