Добавление пользовательского запроса в модель - PullRequest
1 голос
/ 28 июня 2011

Для простоты у меня есть две таблицы: проекты и задачи.У проекта может быть много задач, и задача принадлежит проекту.Я создал базу данных, создал ассоциации и использовал торт для создания моделей, контроллеров и представлений, и все идеально.Когда я смотрю на индексное представление для проектов, я вижу таблицу, в которой перечислены все проекты, как и ожидалось.То, что я хочу сделать, очень просто: я хочу столбец в этой таблице, который показывает количество всех задач, назначенных этому проекту.

SQL-запрос для этого тривиален (возвращая списокколичество задач):

SELECT projects.name,
(SELECT COUNT(*) FROM tasks WHERE project_id = projects.id) as taskCount
FROM projects

Так как мне добиться этого в CakePHP?Метод index в контроллере проектов на данный момент выглядит следующим образом:

function index() {
    $this->Project->recursive = 0;
    $this->set('projects', $this->paginate());
}

1 Ответ

1 голос
/ 28 июня 2011

Вы можете использовать virtualFields или counterCache , но это другой способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...