CakePHP同时更新两个表

时间:2013-05-16 15:32:58

标签: php database cakephp

嗨,我正在为一个夜总会系统做项目。我们的客户希望在活动中有一个电子登录页面,他可以在这里自动登录顾客进入数据库。与此同时,他希望能够确定哪些顾客参加了哪些活动。在我们的数据库中,我们通过使用“Guestlist”表来容纳这一点,该表将事件ID(事件)与顾客ID相结合。

此时我对事件流的解释是:

  • 一位顾客来到柜台,并提供信息输入数据库。

  • 提交信息并进入Patron Table,生成一个顾客ID。

  • 然后,所述事件的访客列表表获取该事件的顾客ID和事件ID,两者均从各个表中引用,并加入表格。

  • 来自访客列表表的
  • 用户可以查看已提交的事件ID和顾客信息。

我不确定我是否错过了一个步骤,或者我们的数据库是不完整/不正确但我们不知道如何在cakePHP中使用它。

1 个答案:

答案 0 :(得分:0)

如果表格相关且您的模型设置正确,则可以使用saveAssociated

您的模型应与相关关系建立。通常它会是一个hasAndBelongsToMany关系,但是如果你想使用GuestList数据进行检查,那么hasManyThrough会更好

这是非常粗糙的,请给出一个起点,请阅读我链接到的文档,以获得更完整的解决方案示例

<?php
class Patron extends AppModel
{
    public $hasMany = array('GuestList');
}

class GuestList extends AppModel 
{
    public $belongsTo = array(
        'Patron',
        'Event'
    );
}

class Event extends AppModel
{
    public $hasMany = array('GuestList')
}