gpt4 book ai didi

php - 在 yii 中使用 listdata 连接 2 列

转载 作者:行者123 更新时间:2023-11-29 01:38:57 28 4
gpt4 key购买 nike

我想制作一个可以显示 2 列的 concat 的下拉列表

这是我的代码:

  $list = CHtml::listData(Coa::model()->findAllBySql("SELECT id, concat(name,' - ',saldo) as info FROM coa where id_type = 1"),'id','info');
echo CHtml::dropDownList('id_coa','id', $list, array('prompt'=>'choose account','class'=>'form-control'));

表格由id, id_type, name and saldo组成。

我想连接 name 和 saldo,然后把它放在下拉选项中

我已经尝试了 findAllBySql 中的代码,它运行良好当我把它放在 yii 上时,它不起作用。

最佳答案

在模型类中创建一个 getter 函数,它将在单个字符串中返回两个字段的值,如下所示:

class Coa extends CActiveRecord {
// ...
public function getNamesaldo() {
return sprintf('%s %s', $this->name, $this->saldo);
}
// ...
}

然后在不使用任何concat 函数的情况下正常获取记录,但两个字段都应该在选择查询中。因此,模型函数可以在一个字符串中返回两者的值:

$model_data = Coa::model()->findAllBySql(
"SELECT id, name, saldo FROM coa where id_type = 1");

现在,这里调用 listData 并指定模型属性 idgetter 名称,如:

$list = CHtml::listData($model_data, 'id', 'namesaldo');
echo CHtml::dropDownList('id_coa', 'id', $list, array(
'prompt' => 'choose account', 'class' => 'form-control'));

就是这样:)

关于php - 在 yii 中使用 listdata 连接 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31341997/

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