Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před 2 lety

Kevas
Člen
Registrovaný: 15. 8. 2009
Příspěvky: 11

Přepsání metody ve fluent zapisu

Čau,
mám tento kus kodu v modelu:

return $this->connection->select('title')
->from('tx_odcalendar_event')
->where('hidden=%i AND deleted=%i', 0, 0)

Když pak volám v presenteru model, tak potřebuji nahradit nebo spíše odstranit např. podmínku where, něčím jako:

->where(NULL);

a nastavit si jinou např:

->where('hidden=%i AND deleted=%i', 1, 1);

Lze to nějak ošéfovat?

Děkuji

Editoval Kevas (3. 11. 2009 12:24)

 

#2 před 2 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: Přepsání metody ve fluent zapisu

Mylsim, ze where(null) nebo where() by melo fungovat.

 

#3 před 2 lety

Kevas
Člen
Registrovaný: 15. 8. 2009
Příspěvky: 11

Re: Přepsání metody ve fluent zapisu

To právě nefunguje doplní se pouze další podmínka.

AND null...

popřípadě:

AND...

 

#4 před 2 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: Přepsání metody ve fluent zapisu

Tak me napada udelat metodu, ktera to vrati bez WHERE a 2. ktera k tomu prida ty 2 podminky. Bude to asi jedine schudne reseni.

 

#5 před 2 lety

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5548

Re: Přepsání metody ve fluent zapisu

Mělo by jít

->clause('WHERE', TRUE)

…já vím, neintuitivní. Přídám

->removeClause('WHERE')

 

#6 před 2 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: Přepsání metody ve fluent zapisu

A co

->where(false)

?

Tady to funguje (DibiFluent)

->select(false)

 

Zápatí