2011-07-25 7 views
8

Chciałbym pobrać z bazy danych wiele wierszy, zgodnie z listą tablic identyfikacyjnych.CakePHP, jak uzyskać wiele wierszy według tablicy identyfikacyjnej

W niektórych innych ramach wydaje się, że istnieje coś takiego jak "WHERE_IN", ale nie tutaj.

Czy ktoś może mi powiedzieć, jak to zrobić?

Chciałbym wiedzieć, jak to zrobić za pomocą funkcji find() lub read() (lub dowolnej innej funkcji cakephp), a NIE ręcznie budować zapytania, ponieważ chcę, aby wszystkie dane były chronione przed utratą danych.

dziękuję

+0

Dziękuję za pytanie, ja przygotowywałem mój własny zakodować jakąś potworność przed google to: D. –

Odpowiedz

25

Według "Complex Find Functions" (trzeci przykład) to powinno działać:

$this->YourModel->find('all', array(
    'conditions' => array(
     "YourModel.id" => array(1, 2, 3, 4) 
    ) 
)); 
+1

dziękuję, doskonały, nie wiedziałem, że to było takie łatwe. – mgPePe

+0

aby zrobić to samo, ale z identyfikatorem innym niż tablica? – Martin

+0

@Martin: dziękuję za pytanie. Nie jestem pewien, co masz na myśli - czy chcesz wybrać rekordy, których identyfikatory nie znajdują się w tablicy, tak jak operator 'NOT IN'? Czy chcesz wybrać używając innego pola niż "id" – vstm

Powiązane problemy