首先建立数据库cake_ext,并执行如下sql文:
[list=1]
[*]CREATE TABLE `companies` (
[/*][*] `id` int(11) NOT NULL auto_increment,
[/*][*] `company` varchar(50) NOT NULL,
[/*][*] `price` decimal(8,2) NOT NULL,
[/*][*] `change` decimal(8,2) NOT NULL,
[/*][*] `lastudp` date NOT NULL,
[/*][*] PRIMARY KEY (`id`)
[/*][*]) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
[/*][*]
[/*][*]-- ----------------------------
[/*][*]-- Records
[/*][*]-- ----------------------------
[/*][*]INSERT INTO `companies` VALUES ('1', '3m Co', '71.72', '0.02', '2008-10-21');
[/*][*]INSERT INTO `companies` VALUES ('2', 'Alcoa Inc', '29.01', '0.42', '2008-10-20');
[/*][*]INSERT INTO `companies` VALUES ('3', 'AT&T Inc.', '31.61', '-0.48', '2008-10-21');
[/*][*]INSERT INTO `companies` VALUES ('4', 'Boeing Co.', '75.43', '0.53', '2008-10-13');
[/*][*]INSERT INTO `companies` VALUES ('5', 'United Technologies Corporation', '63.26', '0.55', '2008-10-09');
[/*][*]INSERT INTO `companies` VALUES ('6', 'Intel Corporation', '19.88', '0.31', '2008-10-15');
[/*][*]INSERT INTO `companies` VALUES ('7', 'Exxon Mobil Corp', '68.10', '-0.43', '2008-10-17');[/*][/list]
如下图所示建立工程:
[img]http://p.blog.csdn.net/images/p_blog_csdn_net/kunshan_shenbin/EntryImages/20081021/cp21.JPG[/img]
数据库配置文件如下:
[list=1]
[*][b]class[/b] DATABASE_CONFIG
[/*][*]{
[/*][*] [b]var[/b] $default = [b]array[/b]('driver' => 'mysql',
[/*][*] 'connect' => 'mysql_connect',
[/*][*] 'host' => 'localhost',
[/*][*] 'login' => 'root',
[/*][*] 'password' => 'root',
[/*][*] 'database' => 'cake_ext',
[/*][*] 'prefix' => '');
[/*][*]
[/*][*] [b]var[/b] $test = [b]array[/b]('driver' => 'mysql',
[/*][*] 'connect' => 'mysql_connect',
[/*][*] 'host' => 'localhost',
[/*][*] 'login' => 'root',
[/*][*] 'password' => 'root',
[/*][*] 'database' => 'cake_ext',
[/*][*] 'prefix' => '');
[/*][*]}[/*][/list]
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());
[/*][*] }
[/*][*]}
[/*][*]?>[/*][/list]
company.php:
[list=1]
[*]<?php
[/*][*][b]class[/b] Company [b]extends[/b] AppModel
[/*][*]{
[/*][*] [b]var[/b] $name = 'Company';
[/*][*]}
[/*][*]?>[/*][/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']); ?>
[/*][*]</td>
[/*][*]<td><?php echo $company['Company']['price']; ?></td>
[/*][*]<td><?php echo $company['Company']['change']; ?></td>
[/*][*]<td><?php echo $company['Company']['lastudp']; ?></td>
[/*][*]</tr>
[/*][*]<?php [b]endforeach[/b]; ?>
[/*][*]</table>[/*][/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']['lastudp']?></p>[/*][/list]
访问http://localhost/cakephp/companies即可运行测试程序。
本代码参考自官方自带例子:[url=http://book.cakephp.org/view/326/The-Cake-Blog-Tutorial]http://book.cakephp.org/view/326/The-Cake-Blog-Tutorial[/url]