You should change
ON (Task.ticke_id = Ticket.id)
to
ON (Task.ticket_id = Ticket.id)
Frage
The Error:
Database Error
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Task.ticke_id' in 'on clause'
SQL Query: SELECT `Task`.`id`, `Task`.`title`, `Task`.`description`, `Task`.`assign_to`,
`Task`.`ticket_id`, `Task`.`due_date`, `Task`.`status`, `Task`.`feedback`,
`Task`.`deleted`, `Task`.`creator`, `Task`.`created`, `Task`.`updator`, `Task`.`updated`,
`Ticket`.`id`, `Ticket`.`title`, `Ticket`.`description`, `Ticket`.`assign_to`,
`Ticket`.`organ_id`, `Ticket`.`deleted`, `Ticket`.`creator`, `Ticket`.`created`
FROM `itsm`.`tasks` AS `Task`
LEFT JOIN `itsm`.`tickets` AS `Ticket` ON (`Task`.`ticke_id` = `Ticket`.`id`)
WHERE `Task`.`deleted` IS NULL LIMIT 20
My Query:
<?xml version="1.0" encoding="utf-8"?>
<list>
<field>
<name>Ticket.id</name>
</field>
<joins>
<table>tickets</table>
<alias>Ticket</alias>
<conditions>Ticket.id = Task.ticket_id</conditions>
</joins>
</list>
What is the problem?
Lösung 2
You should change
ON (Task.ticke_id = Ticket.id)
to
ON (Task.ticket_id = Ticket.id)
Andere Tipps
The problem was in the Model.... so if such problem arises we have to look in Model and the Controller too
<?php
App::uses('AppModel', 'Model');
/**
* Task Model
*
*/
class Task extends AppModel {
/**
* Display field
*
* @var string
*/
public $displayField = 'title';
public $alias = 'Task';
public $useTable= 'tasks';
public $belongsTo = array(
'Ticket' => array(
'className' => 'Ticket',
'foreignKey' => 'ticke_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
);
}
The solution:- 'foreignKey' => 'ticke_id', 'foreignKey' => 'ticket_id',