使用Model中的表字段创建标签

时间:2012-05-22 19:19:28

标签: cakephp cakephp-1.3

PHP

echo $this->Form->create('Street');
echo $this->Form->input('street', array('empty' => '-- select --', 'label' => '???'));

DB

ID | Street | Description
-----------------------
1  | Foo    | Street 1 description
2  | Bar    | Street 2 description
3  | FooFoo | Street 3 description

我想创建像:

这样的标签
Foo - Street 1 description

像:

echo $this->Form->input('street', array('empty' => '-- select --', 'label' => 'Street.street - Street.description'));

我如何使用Cakephp Form Helper生成这个?谢谢!

1 个答案:

答案 0 :(得分:0)

我不明白你为什么要这样做,但这取决于你想去哪里。如果您处于添加操作中,则显然无法从数据库中读取数据,因为其中尚未显示此类记录。 如果您正在进行编辑操作(我假设它已被烘焙),那么您将拥有视图中的数据。所以你可以做到以下几点:

在控制器中应该有类似的东西:

//There should be a variable called $street containing the record data for this to work
//The following sets $street, so it is accessible as $street in the view 
$this->set(compact('street'));

在视图中:

echo $this->Form->input('street', array('empty' => '-- select --', 'label' => $street['Street']['description']));

如果有很多记录,$street数组将被编入索引。