【问题标题】:How to create a view page to save two objects in cakePHPcakePHP中如何创建一个视图页面来保存两个对象
【发布时间】:2011-03-10 04:24:01
【问题描述】:

我有两个模型

地址:第一行,第二行 联系人:名字,姓氏

和数据库表分别是地址和联系方式。我必须创建一个应显示如下格式的视图页面

名字: 姓氏:

地址: 第一行: 第二行:

NEXT STEP {此按钮会跳转到下一页}

如何创建这个视图。请用代码解释我 以及单击下一步按钮后如何在会话中保存两个对象。以及要编写的控制器是什么。用代码解释我。

【问题讨论】:

标签: cakephp


【解决方案1】:

address_controller.php

class AddressController extends AppController {   
 var $uses = array('Address', 'Contact');

以上将允许您从地址控制器访问联系人模型

然后您可以将 add 函数中的数据保存到两个表中

$addressData = array(
    'id'=>'', 
    'firstline'=>$this->data['Address']['firstline'], 
    'secondline'=>$this->data['Address']['secondline'], 
    'contact_id'=>$this->Auth->user('id')
);

然后用下面的代码保存数据....

$this->Address->save($addressData);

我建议您检查以确保实际保存了数据,然后继续使用 Contact 模型的正常保存方法。

如果您已经为地址和联系人模型创建了 add.ctp,那么您只需转到您的视图->地址->add.ctp 并复制表单字段并将它们粘贴到视图->联系人- >add.ctp 表单。

没有看到您的任何代码,很难准确判断您的字段将是什么,但应该看起来像这样:

<input name="data[Contact][firstname]">
<input name="data[Contact][lastname]">
<input name="data[Address][firstline]">
<input name="data[Address][secondline]">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    相关资源
    最近更新 更多