gpt4 book ai didi

php - symfony 1.4 和 php 切换大小写

转载 作者:行者123 更新时间:2023-11-30 00:08:18 24 4
gpt4 key购买 nike

在我的数据库中,我有一列 enum...column_name = enum('column1',column2','column3')在我的行动中,

public function executeView_collection_details(sfWebRequest $r) {
$collection = Doctrine_Core::getTable('Collections')->findOneById($r->getParameter('id'));
$data = array();
$this->setLayout(false);
switch($collection->mode_of_payment) {
case 'Column1':
$obj = $collection->Column1;
$data = array(
//.....
);
break;
case 'Column2':
$obj = $collection->Column2;
$data = array(
//.......
);
break;
case 'Column3':
$obj = $collection->Column3[0];
$data = array(
//.....
);
break;
}

$this->data = $data;
}

我添加了另一个列名术语 int(4)。我不想在 mysql 中添加为枚举,因为用户将在表单中手动添加它们,我的意思是该列的值将由用户添加。此列值代表付款天数(40,60,90...天)我的问题是,是否可以在此列(术语)的操作中添加 switch 语句?我只想显示每个值,例如 40 天将打印一个具有固定 40 行数的表格。我尝试了 foreach 语句但失败了。我尝试在互联网上搜索一些示例,但没有发现任何人..

最佳答案

为什么不使用 getFieldNames() symfony 原生函数来访问每个字段,而不是 switch?

$fn = TablePeer::getFieldNames();
$lists = TablePeer::doSelect($c);
$a = array();
$data = array();
$v = 0;
foreach($lists as $list){
foreach($fn as $f){
$function = "get$f";
$a[$f] = $list->$function();
}
$data[$v] = $a;
$v++;
}
return $data;

将 TablePeer 替换为您的表名称 Peer。

关于php - symfony 1.4 和 php 切换大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24319241/

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