2

我试图创建一个视图,其中用户选择了他们创建的模板编号,然后被带到下一页,在那里它吐出他们为该模板创建的字段。我有我的 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_variablesfields表格中的内容打印到input boxes. 任何帮助将不胜感激

4

1 回答 1

0

你能帮我们调试一下 $fields 数组吗?

您可以在自动生成的输入字段中指定您想要的内容...

即:$this->Form->input('field_name',array('label'=>'随便你叫什么','value'=>'value'));

于 2012-08-15T23:29:10.340 回答