Я использую cakephp 2.3.0. Резюме. В моем контроллере у меня есть запрос, где он возвращает одно или несколько значений id. Затем я хочу использовать эти значения id в следующем запросе с ключевым словом SQL IN. Я знаю концептуально то, что хочу достичь. Я думаю, что делаю это правильно в CakePHP, но я могу ошибаться. Я просто не уверен, что часть кодирования будет динамически строить мой раздел IN.Динамическое построение предложения SQL Where с ключевым словом IN
Вот мой фрагмент кода из моего контроллера:
$this->set('userIDs', $this->Activity->ActivitiesOfInterest->find('all',
array (
'conditions' => array ('ActivitiesOfInterest.activities_id' => $id),
'fields' => array ('ActivitiesOfInterest.user_id'))));
Приведенный выше код является штраф, как я получаю значение или значения, которые я бы ожидать. В приведенном ниже коде я жестко закодировал эту часть, массив (3, 4), что эквивалентно ключевому слову SQL IN. Значения 3, 4 будут храниться в массиве userIDs. Но здесь я не уверен, как динамически строить значения 3 и 4 из массива в приведенном выше коде. Конечно, 3 и 4 не всегда могут быть значениями, потому что это зависит от того, что находится в базе данных. Я думаю, мне нужно пройти через массив и создать список моих идентификаторов. Я все еще несколько новичок в CakePHP, и я предполагаю, что это простой ответ для опытных людей.
И, да, я действительно хочу выполнить операцию deleteAll, основанную на моем случае использования.
$this->Activity->ActivitiesOfInterest->deleteAll(
array('ActivitiesOfInterest.user_id' => array(3, 4)), false);
спасибо, много оценено.
Это сделало трюк. Спасибо за помощь! – Kevin
Рад, что я мог бы помочь! – thaJeztah