我正在尝试为我们公司的IT相关问题创建一种票证类型的系统。
此故障单系统应如下工作:
我在最后一颗子弹上遇到了一些问题。
由于我正在使用两个数据库(it_queries具有唯一的id ticket_id,而it_responses具有外部id ticket_id),因此我必须相互拥有3个视图才能实现此目的。
我有以下几点:
我如何才能实现这一目标,还是有更简单的方法来实现这一目标?
答案 0 :(得分:1)
正如Dipesh所说,你应该正确地关联表格,以便更容易,更快捷。另外,我建议您使用CakePHP naming conventions,不仅用于控制器,模型和视图,还用于DataBase设计。 它将为您节省大量的工作和头痛。 您可以使用cake bake functionality。
除此之外,我没有看到使用不同观点的重点。您可以使用元素(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);
}
无论如何,如果您的故障单正确链接到响应模型,您只需要执行一个包含响应数组的查询。
答案 1 :(得分:0)
要对此进行存档,您需要在模型中定义所有正确的关联。
根据您的问题,我猜您的ItRequest模型与具有hasMany关系的ItResponse相关,因此您的Response表与Request Table具有一对一的关系。
然后定义它,然后在控制器内查询它并根据需要在视图文件中显示它。
cakephp model association (view)
CakePHP model JOINS, missing fields
Retrieving Data From two tables that are associated with a forign key in CakePhp