这里声明一点,上例中不小心把数据库表中lastupd字段错打成lastudp,本例子予以更正。
除上诉字段数据库与上例一致。
工程仍沿用上例,如下图:
代码依次为:
database.php:与上例一致。
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());
- }
-
- function add()
- {
- if (!emptyempty($this->data))
- {
- if ($this->Company->save($this->data))
- {
- $this->flash("Your post has been saved.","/companies");
- }
- }
- }
-
- function edit($id = null)
- {
- if (emptyempty($this->data))
- {
- $this->Company->id = $id;
- $this->data = $this->Company->read();
- }
- else
- {
- if ($this->Company->save($this->data["Company"]))
- {
- $this->flash("Your post has been updated.","/companies");
- }
- }
- }
-
- function delete($id)
- {
- $this->Company->del($id);
- $this->flash("The post with id: ".$id." has been deleted.", "/companies");
- }
- }
- ?>
company.php:
- <?php
- class Company extends AppModel
- {
- var $name = "Company";
-
- var $validate = array(
- "company" => VALID_NOT_EMPTY,
- "price" => VALID_NOT_EMPTY,
- "change" => VALID_NOT_EMPTY,
- "lastupd" => VALID_NOT_EMPTY
- );
- }
- ?>
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"]); ?>
-
- <?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 endforeach; ?>
- </table>
- <p>
- <?php echo $html->link("add", "/companies/add"); ?>
- </p>
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"]["lastupd"]?></p>
- <br/>
- <p>
- <?php echo $html->link("edit", "/companies/edit/".$company["Company"]["id"]); ?>
- </p>
add.thtml:
- <h1>Add Company</h1>
- <form method="post" action="<?php echo $html->url("/companies/add")?>">
- <p>
- Company:
- <?php echo $html->input("Company/company", array("size" => "40"))?>
- <?php echo $html->tagErrorMsg("Company/company", "Company is required.") ?>
- </p>
- <p>
- Price:
- <?php echo $html->input("Company/price", array("size" => "40"))?>
- <?php echo $html->tagErrorMsg("Company/company", "Price is required.") ?>
- </p>
- <p>
- Change:
- <?php echo $html->input("Company/change", array("size" => "40"))?>
- <?php echo $html->tagErrorMsg("Company/change", "Change is required.") ?>
- </p>
- <p>
- Last Update:
- <?php echo $html->input("Company/lastupd", array("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>
edit.thtml:
- <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", array("size" => "40"))?>
- <?php echo $html->tagErrorMsg("Company/company", "Company is required.") ?>
- </p>
- <p>
- Price:
- <?php echo $html->input("Company/price", array("size" => "40"))?>
- <?php echo $html->tagErrorMsg("Company/company", "Price is required.") ?>
- </p>
- <p>
- Change:
- <?php echo $html->input("Company/change", array("size" => "40"))?>
- <?php echo $html->tagErrorMsg("Company/change", "Change is required.") ?>
- </p>
- <p>
- Last Update:
- <?php echo $html->input("Company/lastupd", array("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>
如此访问http://localhost/cakephp/companies即可测试代码。