Итак, я написал функцию флажка для пометки комментариев, и я проверяю в своем контроллере, чтобы убедиться, что пользователь уже пометил определенный комментарий. Проблема, я думаю, это можно сделать в модели.
Функция:
private function userAlreadyFlagged($userId, $commentId) {
$userAlreadyFlagged = $this->CommentsFlag->find('count', array(
'conditions' => array('CommentsFlag.comment_id' => $commentId, 'CommentsFlag.user_id' => $userId)
));
if ($userAlreadyFlagged > 0) {
return true;
} else {
return false;
}
}
Тогда у меня есть еще одна функция внутри контроллера, которая называется flagComment
.
if (!$this->userAlreadyFlagged($userId, $commentId)) {
if ($this->CommentsFlag->save($this->request->data)) {
$message = array('response' => 'success');
}
} else {
$message = array('response' => 'alreadyFlagged');
}
Моя модель для текущих комментариевFlag связывает мою таблицу users
с ней:
var $name = 'CommentsFlag';
var $belongsTo = array(
'User' => array(
'className' => 'User'
)
);
Так что мне интересно, как теперь я могу начать делать подобные вещи в модели, потому что у меня много такого кода, который лучше подходил бы для Модели.