0

我正在尝试为我们公司的 IT 相关问题创建票证类型的系统。

该票务系统应按以下方式工作:

  • 用户登录并提交和“IT 查询”
  • 查询使用唯一 ID 保存,并通过邮件发送给用户。
  • 查询将邮寄给 IT 部门。
  • 记录对查询的响应,当用户查看查询时,可以看到所有这些响应。

我对最后一个子弹有一些问题。

由于我正在使用两个数据库(具有唯一 ID 的 it_queries 和具有外来 ID 的 it_responses 票据 ID),因此我必须彼此拥有 3 个视图才能使其正常工作。

我有以下几点: 我的想法

我将如何实现这一点,或者有更简单的方法来做到这一点?

4

2 回答 2

1

正如 Dipesh 所说,您应该正确关联表格,以使事情变得更容易和更快。另外,我建议您使用CakePHP 命名约定,不仅适用于控制器、模型和视图,还适用于数据库设计。它将为您节省大量工作和头痛。您可以使用蛋糕烘焙功能

除此之外,我看不到使用不同视图的意义。您可以改用元素(view/eElements/),但我会做得更简单。

您应该考虑到一个控制器可以(并且可能会)使用多个模型。这么说,您的view操作ticketController也可以调用it_responses表并检索另一个数组中的数据。

例如:

class TicketsController extends AppController {
    //using the It_response model
    var $uses = array('Ticket' , 'It_response');


    public function view($id){
        $ticketData = $this->Ticket->find('all', array('conditions' => array('Ticket.id' => $id));

        $responsesData = $this->It_response->find('all', array('conditions' => array('It_response.ticket_id' => $id));

        //setting the variables in the ticket view.
        $this->set('ticket', $ticketData);
        $this->set('responses', $responsesData);

    }

无论如何,如果您的工单正确链接到响应模型,您只需要执行一个包含一组响应的查询。

于 2013-02-25T10:21:24.780 回答
0

要归档它,您需要在模型中定义所有正确的关联。

根据您的问题,我猜您的 ItRequest 模型与具有 hasMany 关系的 ItResponse 相关,因此您的 Response 表直接与 Request Table 具有一对一的关系。

所以定义它,然后在控制器中查询它并根据需要在视图文件中显示它。

cakephp 模型关联(查看)

CakePHP 模型 JOINS,缺少字段

从与 CakePhp 中的外键关联的两个表中检索数据

于 2013-02-25T06:41:42.750 回答