首先建立数据库cake_ext,并执行如下sql文:
- 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");
如下图所示建立工程:
数据库配置文件如下:
- class DATABASE_CONFIG
- {
- var $default = array("driver" => "mysql",
- "connect" => "mysql_connect",
- "host" => "localhost",
- "login" => "root",
- "password" => "root",
- "database" => "cake_ext",
- "prefix" => "");
-
- var $test = array("driver" => "mysql",
- "connect" => "mysql_connect",
- "host" => "localhost",
- "login" => "root",
- "password" => "root",
- "database" => "cake_ext",
- "prefix" => "");
- }
companies_controller.php:
- <?php
- class CompaniesController extends AppController
- {
- var $name = "Companies";
-
- function index()
- {
- $this->set("companies", $this->Company->findAll());
- }
-
- function view($id = null)
- {
- $this->Company->id = $id;
- $this->set("company", $this->Company->read());
- }
- }
- ?>
company.php:
- <?php
- class Company extends AppModel
- {
- var $name = "Company";
- }
- ?>
index.thtml:
- <h1>Test companies</h1>
- <table>
- <tr>
- <th>Id</th>
- <th>company</th>
- <th>price</th>
- <th>change</th>
- <th>last update</th>
- </tr>
- <?php foreach ($companies as $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 endforeach; ?>
- </table>
view.thtml:
- <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>
访问http://localhost/cakephp/companies即可运行测试程序。
本代码参考自官方自带例子:http://book.cakephp.org/view/326/The-Cake-Blog-Tutorial