Я использую cakephp, и я застрял в идее перечисления нескольких моделей, вот мой сценарий:
У меня есть две основные модели, а именно Задача и События. Я использовал модель событий, чтобы отслеживать все изменения. здесь есть поля ff: id, model, model_id, изменен
Я использовал таблицу «События» для отслеживания нескольких изменений модели. поэтому, когда что-то изменилось в модели задач, оно будет зарегистрировано в моделях событий (получить представление ??)
Что я хочу сделать, так это то, что всякий раз, когда я использовал метод поиска для модели события, я хочу перечислить информацию о модели (например, модель задачи) вместе с информацией о моих событиях, например:
array(
[0] => array (
[Event] => array(
id => 1
model => Task
model_id => 2
changed => array()
)
[Task] => array(
id => 2
name => Task 1
descp => Test Task
)
)
)
Примечание: модель может быть любой моделью, это может быть модель проекта.
В моем файле task.php это не проблема, потому что я могу легко объявить:
var $hasMany = array(
'Events' => array(
'className' => 'Events',
'foreignKey' => 'model_id',
'dependent' => false,
'conditions' => array('Events.model' => 'Task')
)
);
Я могу получить информацию о событиях, используя метод поиска в задаче, но используя
$this->Task->Event->find('all');
не сработает, я не знаю почему.
Итак, как только я заявляю, что-то подобное в моей модели событий:
var $belongsTo = array(
'Task' => array(
'className' => 'Task',
'foreignKey' => 'model_id',
'conditions' => array('Event.model' => 'Task', 'Event.model_id' => 'Task.id'),
'fields' => '',
'order' => ''
)
);
выдаст ошибку SQL. Ребята, у вас есть идея, как это реализовать?
Заранее спасибо. :)