dotaz na databázi – více where podmínek

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kovarik.t
Člen | 18
+
0
-

Ahoj, bojuju tu s timhle. Chtěl bych při vytvoření/editaci stránky v administraci kontrolovat jestli link už databáze obsahuje a vynechat řádak s příslušnym ID

tohle nefunguje:

$link = $this->pagesRepository->get()->where('NOT id', $id)->where('link', $values['link']);

Tohle v MySQL editoru jo:

SELECT *
FROM xxx.pages
WHERE  (NOT id = 'XX') AND (link = 'YYYY')
enumag
Člen | 2118
+
0
-

Nejspíš stačí where('id != ?', $id).

kovarik.t
Člen | 18
+
0
-

enumag napsal(a):

Nejspíš stačí where('id != ?', $id).

Bohužel ne. V syntaxi to nejspíš není.

Tohle vrací přesně to co má, tedy všechny řádky kromě $id:

$link = $this->pagesRepository->get()->where('NOT id', $id);
enumag
Člen | 2118
+
0
-

Fajn, podívej se do debug baru jaký dotaz to generuje. Imho máš ale chybu jinde.

kovarik.t
Člen | 18
+
0
-

Dotaz:
SELECT id
FROM pages
WHERE (link = ?) AND (NOT id = ?)
…\app\AdminModule\presenters\DashboardPresenter.php

Parametry:
„piaggio-avanti-ii-p180“ (22)
„33“ (2)