我试图创建一个视图,其中用户选择了他们创建的模板编号,然后被带到下一页,在那里它吐出他们为该模板创建的字段。我有我的 sql 语句做我想让他们做的事情,但我不确定如何让表单将这些custom
字段打印default_values
到输入框中
发票表包含id sender_id receiver_id template_id
字段表包含id name default_value active template_id
invoices hambt fields
fields hambt invoices
连接表是fields_invoices,它包含id invoice_id field_id entered value
我不确定如何从发票表和字段表中获取 ID 以保存到连接表
public function create($id)
{
$this->set('title_for_layout', 'Create Invoice');
$this->set('stylesheet_used', 'homestyle');
$this->set('image_used', 'eBOXLogoHome.png');
$this->layout='home_layout';
if (!is_numeric($id)) throw new BadMethodCallException('I need an ID');
$this->Invoice->id = $id;
if (!$this->Invoice->exists()) throw new NotFoundException('Invalid ID');
$this->set('invoice_id',$id);
$names = $this->Invoice->find('list',array(
'fields'=>array('template_id'),
'conditions'=>array('id'=>$id)));
$fields = $this->Field->find('list', array(
'conditions'=>array(
'template_id'=>$names)));
$this->set('field',$fields);
$this->set('name',$names);
if(empty($this->data)){
$this->data= $this->Field->read($fields);
}
else{
if(($this->Field->save($this->data)))
{
$this->Session->setFlash('The field has been updated');
$this->redirect(array('controller'=>'invoices', 'action'=>'index'));
}
}
}
这是视图
<?php echo $this->Form->create('fields_invoices'); ?>
<?php foreach ($field as $fields): ?>
<?php echo $this->Form->Input($fields); ?>
<?php endforeach ;?>
<?php echo $this->Form->End('Submit');?>
现在我不确定如何正确编码视图并获取它,以便default_variables
将fields
表格中的内容打印到input boxes
. 任何帮助将不胜感激