NTDB where NOT – dokumentace
- blaztar
- Member | 93
Narazil jsem na zvláštní chování, nevím zda jde o chybu nebo dělám něco špatně.
Potřeboval jsem zápornou podmínku v NTDB a použil:
$this->table('table')->where('column NOT', 0);
a dostal jsem exception:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '0)' at line 1
Toto ale projde bez problémů:
$this->table('table')->where('NOT column', 0);
Dokumentace přitom povídá že oba zápisy jsou identické.
$selection->where('NOT id', 1);
$selection->where('id NOT', 1); // to samé
Last edited by blaztar (2016-03-08 13:39)
- Attanon
- Member | 25
You are in english part of Nette forum. Czech forum you can find here.
Can you paste the sql query? You can find it in Tracy debug bar.
blaztar wrote:
Narazil jsem na zvláštní chování, nevím zda jde o chybu nebo dělám něco špatně.
Potřeboval jsem zápornou podmínku v NTDB a použil:
$this->table('table')->where('row NOT', 0);
a dostal jsem exception:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '0)' at line 1
Toto ale projde bez problémů:
$this->table('table')->where('NOT row', 0);
Dokumentace přitom povídá že oba zápisy jsou identické.
$selection->where('NOT id', 1); $selection->where('id NOT', 1); // to samé
- David Matějka
- Moderator | 6445
It is a bug. It works great with arrays, nulls, sub-selects but not with scalars: https://github.com/…Where().phpt#…