次のコードは、 CakePHP でフォーム データを追加、削除、変更するための実装コードです
。上記の例では、データベース テーブルの lastupd フィールドが誤って lastudp と入力されていました。
データベースは、アピールフィールドを除いて上記の例と同じです。
以下に示すように、プロジェクトでは依然として上記の例が使用されています。
コードは次のとおりです。
database.php: 上記の例と同じです。
Companies_controller.php:
<?php
classCompaniesControllerextendsAppController
{
var$name='会社'
;
{
$this->set('companies',$this->Company->findAll());
ビュー
($id= null)
{
$this->会社->id =$id;
$this->set('company',$this->Company->read());
関数
追加()
{
if(!emptyempty($this->data))
{
if($this->Company->save($this->data))
{
$this->flash('投稿が保存されました。','/companies');
}
}
$
id= null)
{
if(空の空($this->data))
{
$this->会社->id =$id;
$this->data =$this->Company->read();
}
それ以外
{
if($this->Company->save($this->data['Company']))
{
$this->flash('投稿が更新されました。','/companies');
}
}
関数
削除($id)
{
$this->会社->del($id);
$this->flash('ID: '.$id.' の投稿は削除されました。','/companies');
}
}
?>
company.php:
<?php
classCompanyextendsAppModel
{
var$name='会社';
var$validate=array(
'会社'=> VALID_NOT_EMPTY、
'価格'=> VALID_NOT_EMPTY、
'変更'=> VALID_NOT_EMPTY、
'lastupd'=> VALID_NOT_EMPTY
);
}
?>
Index.thtml:
<h1>テスト会社</h1>
<テーブル>
<tr>
<th>ID</th>
<th>会社</th>
<th>価格</th>
<th>変更</th>
<th>最終更新</th>
</tr>
<?phpforeach($companiesas$company): ?>
<tr>
<td><?phpecho$company['会社']['id'] ?></td>
<td>
<?phpecho$html->link($company['Company']['company'],"/companies/view/".$company['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 ?>
</テーブル>
<p>
<?phpecho$html->link('add',"/companies/add");
</p>
view.thtml:
<h1>会社: <?phpecho$company['Company']['company']?></h1>
<p><small>ID: <?phpecho$company['Company']['id']?></small></p>
<p>価格: <?phpecho$company['Company']['price']?></p>
<p>変更: <?phpecho$company['Company']['change']?></p>
<p>最終更新: <?phpecho$company['Company']['lastupd']?></p>
<br/>
<p>
<?phpecho$html->link('edit',"/companies/edit/".$company['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('Company/lastupd',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/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('Company/lastupd',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/lastupd','最終更新が必要です。') ?>
</p>
<p>
<?phpecho$html->submit('Save') ?> <?phpecho$html->link('return',"/companies/index") ?>
</p>
</form>
http://localhost/cakephp/companiesにアクセスしてコードをテストできます。