这里声明一点,上例中不小心把数据库表中lastupd字段错打成lastudp,本例子予以更正。
除上诉字段数据库与上例一致。
工程仍沿用上例,如下图:
代码依次为:
database.php:与上例一致。
companies_controller.php:
<?php classCompaniesControllerextendsAppController { var$name='Companies'; functionindex() { $this->set('companies',$this->Company->findAll()); } functionview($id=null) { $this->Company->id=$id; $this->set('company',$this->Company->read()); } functionadd() { if(!emptyempty($this->data)) { if($this->Company->save($this->data)) { $this->flash('Yourposthasbeensaved.','/companies'); } } } functionedit($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('Yourposthasbeenupdated.','/companies'); } } } functiondelete($id) { $this->Company->del($id); $this->flash('Thepostwithid:'.$id.'hasbeendeleted.','/companies'); } } ?>
company.php:
<?php classCompanyextendsAppModel { 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>Testcompanies</h1> <table> <tr> <th>Id</th> <th>company</th> <th>price</th> <th>change</th> <th>lastupdate</th> </tr> <?phpforeach($companiesas$company):?> <tr> <td><?phpecho$company['Company']['id'];?></td> <td> <?phpecho$html->link($company['Company']['company'],"/companies/view/".$company['Company']['id']);?> <?phpecho$html->link('Delete',"/companies/delete/{$company['Company']['id']}",null,'Areyousure?')?> </td> <td><?phpecho$company['Company']['price'];?></td> <td><?phpecho$company['Company']['change'];?></td> <td><?phpecho$company['Company']['lastupd'];?></td> </tr> <?phpendforeach;?> </table> <p> <?phpecho$html->link('add',"/companies/add");?> </p>
view.thtml:
<h1>Company:<?phpecho$company['Company']['company']?></h1> <p><small>Id:<?phpecho$company['Company']['id']?></small></p> <p>Price:<?phpecho$company['Company']['price']?></p> <p>Change:<?phpecho$company['Company']['change']?></p> <p>LastUpdate:<?phpecho$company['Company']['lastupd']?></p> <br/> <p> <?phpecho$html->link('edit',"/companies/edit/".$company['Company']['id']);?> </p>
add.thtml:
<h1>AddCompany</h1> <formmethod="post"action="<?phpecho$html->url('/companies/add')?>"> <p> Company: <?phpecho$html->input('Company/company',array('size'=>'40'))?> <?phpecho$html->tagErrorMsg('Company/company','Companyisrequired.')?> </p> <p> Price: <?phpecho$html->input('Company/price',array('size'=>'40'))?> <?phpecho$html->tagErrorMsg('Company/company','Priceisrequired.')?> </p> <p> Change: <?phpecho$html->input('Company/change',array('size'=>'40'))?> <?phpecho$html->tagErrorMsg('Company/change','Changeisrequired.')?> </p> <p> LastUpdate: <?phpecho$html->input('Company/lastupd',array('size'=>'40'))?> <?phpecho$html->tagErrorMsg('Company/lastupd','LastUpdateisrequired.')?> </p> <p> <?phpecho$html->submit('Save')?><?phpecho$html->link('return',"/companies/index");?> </p> </form>
edit.thtml:
<h1>EditCompany</h1> <formmethod="post"action="<?phpecho$html->url('/companies/edit')?>"> <?phpecho$html->hidden('Company/id');?> <p> Company: <?phpecho$html->input('Company/company',array('size'=>'40'))?> <?phpecho$html->tagErrorMsg('Company/company','Companyisrequired.')?> </p> <p> Price: <?phpecho$html->input('Company/price',array('size'=>'40'))?> <?phpecho$html->tagErrorMsg('Company/company','Priceisrequired.')?> </p> <p> Change: <?phpecho$html->input('Company/change',array('size'=>'40'))?> <?phpecho$html->tagErrorMsg('Company/change','Changeisrequired.')?> </p> <p> LastUpdate: <?phpecho$html->input('Company/lastupd',array('size'=>'40'))?> <?phpecho$html->tagErrorMsg('Company/lastupd','LastUpdateisrequired.')?> </p> <p> <?phpecho$html->submit('Save')?><?phpecho$html->link('return',"/companies/index");?> </p> </form>
如此访问http://localhost/cakephp/companies即可测试代码。