2012-08-11 4 views
2

사용자가 작성한 템플리트 번호를 선택한보기를 작성하려고 시도하면 해당 템플리트에 대해 작성한 필드가 튀어 나오는 다음 페이지로 이동합니다. 내 SQL 문은 내가 그들이 원하는하지만cakephp 사용자 입력이있는 양식 작성

송장 테이블이 들어있는 입력 상자에이 custom 필드 default_values를 인쇄 양식을 얻을 수 있겠군요 오전 일을해야 id sender_id receiver_id template_id 필드 테이블 id name default_value active template_id

invoices hambt fields 
fields hambt invoices 
을 포함

테이블, 그것은 내가 조인 테이블에 저장 송장 테이블과 필드 테이블에서 아이디의를 얻는 방법 확실하지 오전 id invoice_id field_id entered value

을 fields_invoices이 포함되어있을 가입

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');?> 

지금 내가 제대로보기를 코딩하고는 input boxesfields 테이블에 default_variables를 출력하도록 그것을 얻을 수 있겠군요 오전보기입니다. 어떤 도움을 주시면 감사하겠습니다.

답변

0

$ fields 배열을 디버깅 할 수 있습니까?

당신은 당신이 당신의 자동 생성 된 입력 필드에 원하는 것을 지정할 수 있습니다 ...

: $ this-> 서식 -> 입력 ('FIELD_NAME', 배열 ('라벨'=> '당신이 원하는대로 ','value '=>'value ')));