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

Я сейчас программирую на Bug Tracker.

У меня есть таблица с именем bug_states. Это поле имеет значение closed, то есть TINYINT, если оно установлено в 0, то это означает, что состояние ошибки помечает ошибку как закрытую (открытую). Если установлено значение 1, это означает, что состояние ошибки помечает ошибку как закрытую.

Если у меня есть таблица с именем milestones, ее структура на самом деле не подходит для этой проблемы.

Чем у меня последняя таблица с именем bugs. Здесь используются следующие поля: bug_state_id, который используется cakephp для создания ассоциации с таблицей bug_states, и milestone_id, который используется для привязки ошибки к вехе.

Теперь я не хочу подсчитывать, сколько ошибок открыто для данного этапа.

В качестве примера, это мой код для получения всех ошибок за данный этап:

$total_bug_count = $this->Bug->find('count', array('conditions' => array('Bug.milestone_id' => $milestone_id)));

Кто-нибудь знает, как я могу считать только открытые ошибки (это те, у кого BugState.closed = 0)?

(Если что-то неясно, просто скажите это; -))

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

Я думаю, вы захотите взглянуть на Containable поведение

0 голосов
/ 28 декабря 2011

Решение было таким простым (и я так долго пытался ...):

$this->Bug->find('count', array('conditions' => array('BugState.closed' => 0)));
...