我正在CakePHP中创建一个网站,我对它有点新意.我找不到这方面的好资源,所以你去了:
我有注册用户三个表结构:Users
,Addresses
和Contacts
.我必须使用所有三个表的信息构建一个视图,如:
Full Name: [ ] (from Users) Shipping Address: [ ] (from Address) Mobile Phone: [ ] (from Contact) e-Mail Address: [ ] (from Contact)
处理这种情况的最佳方法是什么?特别是为了储蓄.创建一个新模型来表示这个,它将拥有一个save()
方法本身(也许是数据库中的sql视图)创建一个Controller来处理这个视图的bind
s或unbind
s信息
我仍然想知道我将如何处理两个联系人,因为他们将是两个不同INSERT
的联系人
我可以挖掘的任何暗示或资源都会很高兴.
如果您使用的是最新的1.2代码,请查看api中的Model :: saveAll
例如.您的视图可能如下所示:
echo $form->create('User', array('action' => 'add'); echo $form->input('User.name'); echo $form->input('Address.line_1'); echo $form->input('Contact.tel'); echo $form->end('Save');
然后在您的Users控制器添加方法中,您将拥有以下内容:
... if($this->User->saveAll($this->data)) { $this->Session->setFlash('Save Successful'); $this->redirect(array('action' => 'index')); } else { $this->Session->setFlash('Please review the form for errors'); } ...
在您的用户模型中,您将需要以下内容:
var $hasOne = array('Address', 'Contact');
希望有所帮助!
http://api.cakephp.org/class_model.html#49f295217028004b5a723caf086a86b1