tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Jak zadávat LIKE aby opravdu fungoval v dibi 1.2

před 7 lety

Tirus91
Generous Backer | 199

Potřeboval bych vysvětlit jak využívat v dibi LIKE %string%

$where[]=array('location_room LIKE %~like~ %s',$_SESSION['rooms']['location_room']);
$where[]=array('name_room LIKE %~like~ %s',$_SESSION['rooms']['name_room']);
$rooms = dibi::test('SELECT * FROM [:prefix:room] WHERE %and',$where)->fetchAssoc('id_room');

toto mi nechce fungovat.. výsledek je
SELECT *
FROM sk_room
WHERE (location_room LIKE %~like~ ‚pavilon K‘) AND (name_room LIKE %~like~ ‚K2‘)

využívám Dibi 1.2
a to z toho důvodu, že nové dibi nemohu bez nette rozjet. chci využívat jen dibi (implementuji do svého kódu)

před 7 lety

Milo
Nette Core | 1124

Ve verzi 1.2 ještě modifikátor %like není.

nové dibi nemohu bez nette rozjet. chci využívat jen dibi (implementuji do svého kódu)

Tím myslíš co? Všechny verze dibi fungují bez Nette.

před 7 lety

Tirus91
Generous Backer | 199

Když si nahradím svůj soubor pro dibi (jedná se o minifield) a spustím aplikaci, tak mi to vyhodí hlášku
File ‚Nette\Diagnostics\IBarPanel.php‘ not found within ‚lib‘ directory!

před 7 lety

Milo
Nette Core | 1124

Ta chyba vznikne v nějakém autoloadingu tříd, že? Buď si uprav minifikovanou verzi dibi tak, aby se všechny interface_exists() volali s druhým parametrem FALSE anebo to ošetři ve své autoloading funkci.

interface_exists('Nette\Diagnostics\IBarPanel',FALSE)||interface_exists('IBarPanel',FALSE)