Я немного новичок, и у меня возникли проблемы с правильной отправкой моего запроса на cakephp.cakephp - получение правильных совпадений
У меня есть таблица пользователей и пользователи hasmany rotas. Таблица Ротас выглядит
monday_am
monday_pm
tuesday_am
и т.д.
и если пользователь должен быть в на monday_pm, например, то, что поле будет иметь 1. В противном случае 0.
Я хочу, чтобы все пользователи, принадлежащие к определенному пространству, отменили регистрацию = 0 и - и вот где я «М, имеющих проблемы - у кого есть рота, где (например) tuesday_am = 1
Поэтому у меня есть код:
$options['conditions'] = array('User.room_id'=>$room_id, 'User.deregistered'=>0, 'User.request'=>0);
$options['joins'] = array(
array('table' => 'rotas',
'alias' => 'rota',
'type' => 'INNER',
'conditions' => array('rota.'.$todaysDay.'_'.$amPm => 1)
)
);
$usersToday = $this->User->find('all', $options);
Если я не попробовать присоединиться, то я получить хороший маленький список таких, как я ожидаю. Если я попробую присоединиться, я получаю 100 результатов, которые в основном дублируются!
Как получить только одну запись пользователя, у которого есть необходимые условия в таблице Users, а также таблица Rotas, и как это происходит, поскольку у меня есть так много результатов?!?
благодаря
Есть ли причина, по которой вы не хотите определять свои отношения hasMany в своих моделях? Если вы это сделаете, вы можете просто добавить условия для соответствующей модели, и торт делает это для вас. http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html – Jage
Вы имеете в виду $ options ['conditions'] = array ('User.room_id' => $ room_id, 'User.deregistered' => 0, 'User.request' => 0, 'rota.'. $ TodaysDay .'_ '. $ AmPm => 1); потому что это не сработало. в соответствии с http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#joining-tables hasmany relationship требует соединения? –