symfony 1.4和php开关盒
在我的数据库中,有一列enum…column_name=enum('column1',column2','column3')) 在我的行动中symfony 1.4和php开关盒,php,mysql,symfony1,Php,Mysql,Symfony1,在我的数据库中,有一列enum…column_name=enum('column1',column2','column3')) 在我的行动中 public function executeView_collection_details(sfWebRequest $r) { $collection = Doctrine_Core::getTable('Collections')->findOneById($r->getParameter('id')); $data =
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语句,但失败。我尝试在internet上搜索一些示例,但没有找到任何一行。而不是switch,为什么不使用getFieldNames()symfony本机函数转到每个字段
$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替换为您的Table name Peer。您是说您需要一个HTML表格,根据列
术语的值,表格中有40,60,90行?假设这是正确的,for语句将是创建具有该行数的表的最合乎逻辑的方法。@Jester是的,我需要一个基于列值(term)的具有40、60、90行的HTML表。我可以使用foreach语句显示表。但我需要的是每个列值的固定行数,由于该表中有一个日期列,如果在某些日期未收到付款,我想显示一些字符串,如“此日期未付款”。明天我将尝试使用for语句