我想列出数组检索到它们的复选框..
我的控制器操作代码是:
public function actionSech ($radio)
{
$sql = Yii::app()->db->createCommand()
->select ('m.maraq')
->from ('maraq m')
->where ('m.idsinif=:ids', [':ids'=>$radio])
->queryAll();
$this->renderPartial('sech', array('sql'=>$sql));
}
sech.php
<style>
.multiselect-group{display: none !important;}
</style>
<?php
print_r($sql);
$cat = CHtml::listData($sql, 'idmaraq', 'maraq');
print_r($cat);
?>
print_r($sql);
结果为:
> Array ( [0] => Array ( [maraq] => Şəxsi sağlamlıq sistemləri ) [1] =>
> Array ( [maraq] => Xəstələrin təhlükəsizliyi üçün İKT ) [2] => Array (
> [maraq] => Virtual fizioloji insan ) [3] => Array ( [maraq] =>
> "Virtual fizioloji insan" sahəsində beynəlxalq əməkdaşlıq ) )
但print_r($cat);
结果为:
> Array ( [] => "Virtual fizioloji insan" sahəsində beynəlxalq
> əməkdaşlıq )
所以,我无法理解; $cat
不会返回与$sql
相同的查询的问题是什么?
请解释一下。感谢。
最佳, Mirjalal。
答案 0 :(得分:1)
我发现了问题。
编辑代码:
<强>动作强>
public function actionSech ($radio)
{
$maraq = new Maraq();
$sql = Yii::app()->db->createCommand()
->select('maraq')
->from('maraq m')
->where('m.idsinif=:ids', [':ids' => $radio])
->queryAll();
$this->renderPartial('sech', array('sql' => $sql, 'maraq'=>$maraq));
}
查看文件
<?php
print_r($sql);
$cat = CHtml::listData($maraq->findAll(), 'idsinif', 'maraq');
echo "<br>";
echo "<br>";
echo "<br>";
print_r($cat);
?>
结果是一样的:))
感谢。
答案 1 :(得分:0)
CDbCommand::queryAll
返回的关联数组仅包含字段maraq
,不包含字段idmaraq
,指定为函数CHtml::listData
的第二个参数。因此,尝试更改行
->select ('m.maraq')
到
->select ('m.idmaraq, m.maraq')
或
->select ('*')