Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana] orm, stałe where
Forum PHP.pl > Forum > PHP > Frameworki
nmts
Dodaje płatności, dodałem w tabeli pole, które sygnalizuje, że dana oferta została opłacona. Chcę wyświetlać tylko opłacone oferty, i nie chcę zmieniać dużej ilości kodu, czy mogę w jakiś prosty sposób zdefiniować aby do każdego wywołania modelu dodawało ->where('payed', 1)?
lukaskolista
chyba tak, nigdy tego nie robilem, wiec moze nie dzialac i pisze z glowy

w Twoim modelu dodaj metode
  1. public function save() {
  2. $this->where('payed', 1);
  3. parent::save();
  4. }
Oczywiscie o ile uzywasz save(), dla innych metod analogicznie. Najlepiej jakbys pokazal przykladowe zapytanie w ORM

Nie wiem, czy nie mozna tez tego ustawic we wlasnosci klasy, korzystam z kohana3, a do kohana2 dokumentacja nie jest niestety dostepna.
To chyba bylo jakos tak
  1. public $where = array('payed', 1);
ale glowy nie dam.
vokiel
Tak się zastanawiam, czy dobrym rozwiązaniem nie byłoby utworzenie widoku, który miałby już podany warunek where...

P.S.
Dokumentacja do v2: http://www.coppede.org/kohanadocs/
nmts
  1. public function find_all($limit = NULL, $offset = NULL){
  2. $this->where('payed', 1);
  3. return parent::find_all($limit, $offset);
  4. }
  5.  
  6. public function find($id = NULL)
  7. $this->where('payed', 1);
  8. return parent::find($id);
  9. }*


Wygląda na to, że działa, jeszcze jutro dokładnie (wiem, wigilia:P) przetestuje.

Vokiel wybacz, jestem trochę zmęczony i nie rozumiem. Chyba rozszerzenie metod jest najmniej czasochłonne.
Dzięki za link, przyda się mirror. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.