如何从不同的表中获取数据并以json格式发送它

时间:2012-12-06 13:17:57

标签: json yii

我在Yii + extjs-4中创建功能。我有两张桌子 - 民意调查选项 -pollId -optionId -pollQuestion -option -Isactive -pollId -IsPublished

我正在创建sendData函数,其中我必须从选项表中检索给定pollId的记录以及此pollId的选项,并希望以json encoede格式发送此所有记录值。那么如何以json格式将这些不同的表数据一起发送? 请帮帮我......

1 个答案:

答案 0 :(得分:1)

在民意调查模型中使用关系(我意识到民意调查有很多选项)。所以定义:

public function relations()
{
    return array(
        'options'=>array(self::HAS_MANY, 'Option', 'poll_id'),
    );
}

poll_id是选项表字段。

您需要获取包含所有数据的数组(根据需要进行格式化),如下所示:

$data = $pollModel->getAttributes();
foreach ($pollModel->options as $option) {
    $data = array_merge($data, $option->getAttributes());
}
CJSON::encode($data);