这里声明一点,上例中不小心把数据库表中lastupd字段错打成lastudp,本例子予以更正。
除上诉字段数据库与上例一致。
工程仍沿用上例,如下图:
[img]http://p.blog.csdn.net/images/p_blog_csdn_net/kunshan_shenbin/EntryImages/20081021/cp22633602068050781250.JPG[/img]
代码依次为:
database.php:与上例一致。
companies_controller.php:
[list=1]
[*]<?php
[/*][*][b]class[/b] CompaniesController [b]extends[/b] AppController
[/*][*]{
[/*][*] [b]var[/b] $name = 'Companies';
[/*][*]
[/*][*] [b]function[/b] index()
[/*][*] {
[/*][*] $this->set('companies', $this->Company->findAll());
[/*][*] }
[/*][*]
[/*][*] [b]function[/b] view($id = null)
[/*][*] {
[/*][*] $this->Company->id = $id;
[/*][*] $this->set('company', $this->Company->read());
[/*][*] }
[/*][*]
[/*][*] [b]function[/b] add()
[/*][*] {
[/*][*] [b]if[/b] (!empty[b]empty[/b]($this->data))
[/*][*] {
[/*][*] [b]if[/b] ($this->Company->save($this->data))
[/*][*] {
[/*][*] $this->flash('Your post has been saved.','/companies');
[/*][*] }
[/*][*] }
[/*][*] }
[/*][*]
[/*][*] [b]function[/b] edit($id = null)
[/*][*] {
[/*][*] [b]if[/b] (empty[b]empty[/b]($this->data))
[/*][*] {
[/*][*] $this->Company->id = $id;
[/*][*] $this->data = $this->Company->read();
[/*][*] }
[/*][*] [b]else[/b]
[/*][*] {
[/*][*] [b]if[/b] ($this->Company->save($this->data['Company']))
[/*][*] {
[/*][*] $this->flash('Your post has been updated.','/companies');
[/*][*] }
[/*][*] }
[/*][*] }
[/*][*]
[/*][*] [b]function[/b] delete($id)
[/*][*] {
[/*][*] $this->Company->del($id);
[/*][*] $this->flash('The post with id: '.$id.' has been deleted.', '/companies');
[/*][*] }
[/*][*]}
[/*][*]?>[/*][/list]
company.php:
[list=1]
[*]<?php
[/*][*][b]class[/b] Company [b]extends[/b] AppModel
[/*][*]{
[/*][*] [b]var[/b] $name = 'Company';
[/*][*]
[/*][*] [b]var[/b] $validate = [b]array[/b](
[/*][*] 'company' => VALID_NOT_EMPTY,
[/*][*] 'price' => VALID_NOT_EMPTY,
[/*][*] 'change' => VALID_NOT_EMPTY,
[/*][*] 'lastupd' => VALID_NOT_EMPTY
[/*][*] );
[/*][*]}
[/*][*]?>[/*][/list]
index.thtml:
[list=1]
[*]<h1>Test companies</h1>
[/*][*]<table>
[/*][*]<tr>
[/*][*]<th>Id</th>
[/*][*]<th>company</th>
[/*][*]<th>price</th>
[/*][*]<th>change</th>
[/*][*]<th>last update</th>
[/*][*]</tr>
[/*][*]<?php [b]foreach[/b] ($companies [b]as[/b] $company): ?>
[/*][*]<tr>
[/*][*]<td><?php echo $company['Company']['id']; ?></td>
[/*][*]<td>
[/*][*]<?php echo $html->link($company['Company']['company'], "/companies/view/".$company['Company']['id']); ?>
[/*][*]
[/*][*]<?php echo $html->link('Delete', "/companies/delete/{$company['Company']['id']}", null, 'Are you sure?')?>
[/*][*]</td>
[/*][*]<td><?php echo $company['Company']['price']; ?></td>
[/*][*]<td><?php echo $company['Company']['change']; ?></td>
[/*][*]<td><?php echo $company['Company']['lastupd']; ?></td>
[/*][*]</tr>
[/*][*]<?php [b]endforeach[/b]; ?>
[/*][*]</table>
[/*][*]<p>
[/*][*]<?php echo $html->link('add', "/companies/add"); ?>
[/*][*]</p>[/*][/list]
view.thtml:
[list=1]
[*]<h1>Company: <?php echo $company['Company']['company']?></h1>
[/*][*]<p><small>Id: <?php echo $company['Company']['id']?></small></p>
[/*][*]<p>Price: <?php echo $company['Company']['price']?></p>
[/*][*]<p>Change: <?php echo $company['Company']['change']?></p>
[/*][*]<p>LastUpdate: <?php echo $company['Company']['lastupd']?></p>
[/*][*]<br/>
[/*][*]<p>
[/*][*]<?php echo $html->link('edit', "/companies/edit/".$company['Company']['id']); ?>
[/*][*]</p>[/*][/list]
add.thtml:
[list=1]
[*]<h1>Add Company</h1>
[/*][*]<form method="post" action="<?php echo $html->url('/companies/add')?>">
[/*][*]<p>
[/*][*]Company:
[/*][*]<?php echo $html->input('Company/company', [b]array[/b]('size' => '40'))?>
[/*][*]<?php echo $html->tagErrorMsg('Company/company', 'Company is required.') ?>
[/*][*]</p>
[/*][*]<p>
[/*][*]Price:
[/*][*]<?php echo $html->input('Company/price', [b]array[/b]('size' => '40'))?>
[/*][*]<?php echo $html->tagErrorMsg('Company/company', 'Price is required.') ?>
[/*][*]</p>
[/*][*]<p>
[/*][*]Change:
[/*][*]<?php echo $html->input('Company/change', [b]array[/b]('size' => '40'))?>
[/*][*]<?php echo $html->tagErrorMsg('Company/change', 'Change is required.') ?>
[/*][*]</p>
[/*][*]<p>
[/*][*]Last Update:
[/*][*]<?php echo $html->input('Company/lastupd', [b]array[/b]('size' => '40'))?>
[/*][*]<?php echo $html->tagErrorMsg('Company/lastupd', 'Last Update is required.') ?>
[/*][*]</p>
[/*][*]<p>
[/*][*]<?php echo $html->submit('Save') ?> <?php echo $html->link('return', "/companies/index"); ?>
[/*][*]</p>
[/*][*]</form>[/*][/list]
edit.thtml:
[list=1]
[*]<h1>Edit Company</h1>
[/*][*]<form method="post" action="<?php echo $html->url('/companies/edit')?>">
[/*][*]<?php echo $html->hidden('Company/id'); ?>
[/*][*]<p>
[/*][*]Company:
[/*][*]<?php echo $html->input('Company/company', [b]array[/b]('size' => '40'))?>
[/*][*]<?php echo $html->tagErrorMsg('Company/company', 'Company is required.') ?>
[/*][*]</p>
[/*][*]<p>
[/*][*]Price:
[/*][*]<?php echo $html->input('Company/price', [b]array[/b]('size' => '40'))?>
[/*][*]<?php echo $html->tagErrorMsg('Company/company', 'Price is required.') ?>
[/*][*]</p>
[/*][*]<p>
[/*][*]Change:
[/*][*]<?php echo $html->input('Company/change', [b]array[/b]('size' => '40'))?>
[/*][*]<?php echo $html->tagErrorMsg('Company/change', 'Change is required.') ?>
[/*][*]</p>
[/*][*]<p>
[/*][*]Last Update:
[/*][*]<?php echo $html->input('Company/lastupd', [b]array[/b]('size' => '40'))?>
[/*][*]<?php echo $html->tagErrorMsg('Company/lastupd', 'Last Update is required.') ?>
[/*][*]</p>
[/*][*]<p>
[/*][*]<?php echo $html->submit('Save') ?> <?php echo $html->link('return', "/companies/index"); ?>
[/*][*]</p>
[/*][*]</form>[/*][/list]
如此访问
http://localhost/cakephp/companies即可测试代码。