다음 코드는 CakePHP에서 양식 데이터를 추가, 삭제 및 수정하기 위한 구현 코드입니다
. 위의 예에서 데이터베이스 테이블의 lastupd 필드가 실수로 lastudp로 입력되었습니다.
데이터베이스는 항소 필드를 제외하고 위의 예와 동일합니다.
프로젝트에서는 아래와 같이 여전히 위의 예를 사용합니다.
코드는 다음과 같습니다.
Database.php: 위의 예와 동일합니다.
Companies_controller.php:
<?php
classCompaniesControllerextendsAppController
{
var$name='회사';
functionindex()
{
$this->set('회사',$this->회사->findAll());
}
함수뷰($id= null)
{
$this->회사->id =$id;
$this->set('회사',$this->회사->read());
}
함수추가()
{
if(!emptyempty($this->data))
{
if($this->회사->save($this->data))
{
$this->flash('귀하의 게시물이 저장되었습니다.','/companies');
}
}
}
함수편집($id= null)
{
if(비어 있음($this->data))
{
$this->회사->id =$id;
$this->data =$this->회사->read();
}
또 다른
{
if($this->회사->save($this->data['회사']))
{
$this->flash('귀하의 게시물이 업데이트되었습니다.','/companies');
}
}
}
함수 삭제($id)
{
$this->회사->del($id);
$this->flash('ID가 '.$id.'인 게시물이 삭제되었습니다.','/companies');
}
}
?>
회사.php:
<?php
classCompanyextendsAppModel
{
var$name='회사';
var$validate=배열(
'회사'=> VALID_NOT_EMPTY,
'가격'=> VALID_NOT_EMPTY,
'변경'=> VALID_NOT_EMPTY,
'lastupd'=> VALID_NOT_EMPTY
);
}
?>
index.thtml:
<h1>테스트 회사</h1>
<테이블>
<tr>
<th>아이디</th>
<th>회사</th>
<th>가격</th>
<th>변경</th>
<th>마지막 업데이트</th>
</tr>
<?phpforeach($companiesas$회사): ?>
<tr>
<td><?phpecho$company['회사']['id'] ?></td>
<TD>
<?phpecho$html->link($company['회사']['company'],"/companies/view/".$company['회사']['id']) ?>
<?phpecho$ html->link('삭제',"/companies/delete/{$company['회사']['id']}", null,'정말입니까?')?>
</td>
<td><?phpecho$company['회사']['가격'] ?></td>
<td><?phpecho$company['회사']['변경'] ?></td>
<td><?phpecho$company['회사']['lastupd'] ?></td>
</tr>
<?phpendforeach;>
</table>
<p>
<?phpecho$html->link('추가',"/companies/add") ?>
</p>
view.thtml:
<h1>회사: <?phpecho$company['회사']['company']?></h1>
<p><small>ID: <?phpecho$company['회사']['id']?></small></p>
<p>가격: <?phpecho$company['회사']['price']?></p>
<p>변경: <?phpecho$company['회사']['change']?></p>
<p>마지막 업데이트: <?phpecho$company['회사']['lastupd']?></p>
<br/>
<p>
<?phpecho$html->link('edit',"/companies/edit/".$company['회사']['id']);
</p>
add.thtml:
<h1>회사 추가</h1>
<form method="post"action="<?php echo $html->url('/companies/add')?>">
<p>
회사:
<?phpecho$html->input('회사/회사',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('회사/회사','회사가 필요합니다.') ?>
</p>
<p>
가격:
<?phpecho$html->input('회사/가격',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('회사/회사','가격이 필요합니다.') ?>
</p>
<p>
변화:
<?phpecho$html->input('회사/변경',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('회사/변경','변경이 필요합니다.') ?>
</p>
<p>
마지막 업데이트:
<?phpecho$html->input('회사/lastupd',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('회사/lastupd','마지막 업데이트가 필요합니다.') ?>
</p>
<p>
<?phpecho$html->submit('Save') ?> <?phpecho$html->link('return',"/companies/index") ?>
</p>
</form>
edit.thtml:
<h1>회사 편집</h1>
<form method="post"action="<?php echo $html->url('/companies/edit')?>">
<?phpecho$html->hidden('회사/ID') ?>
<p>
회사:
<?phpecho$html->input('회사/회사',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('회사/회사','회사가 필요합니다.') ?>
</p>
<p>
가격:
<?phpecho$html->input('회사/가격',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('회사/회사','가격이 필요합니다.') ?>
</p>
<p>
변화:
<?phpecho$html->input('회사/변경',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('회사/변경','변경이 필요합니다.') ?>
</p>
<p>
마지막 업데이트:
<?phpecho$html->input('회사/lastupd',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('회사/lastupd','마지막 업데이트가 필요합니다.') ?>
</p>
<p>
<?phpecho$html->submit('Save') ?> <?phpecho$html->link('return',"/companies/index") ?>
</p>
</form>
http://localhost/cakephp/companies를 방문하여 코드를 테스트할 수 있습니다.