Nette\Database a psaní přímo SQL kodu
- Radimorous
- Člen | 30
Začal jsem s Nette, podle Quick Startu jsem pobral Nette\Database. Nicméně možnost, že v modelu budu mít vždy select celý tabulky, jako např:
<?php
public function getObsah()
{
return $this->database->table('obsah');
}
?>
a v presenteru pak budu dotaz zúžovat jako např:
<?php
public function renderPopis($id)
{
$this->template->text = $this->model->getObsah()->where('id', $id);
}
?>
asi není úplně správná. Neexistuje možnost psát přímo SQL kod někde? SQL ovládám výborně, v týhle db vrstvě tápu, a dotazy o 100 řádcích bych opravdu nechtěl dělat přes řetězení volání funkcí, jak je to v tutorialu. Pokud chci psát SQL, nemám radši přejít na dibi nebo je nějaká možnost i v Nette\Database?
- Radimorous
- Člen | 30
duke napsal(a):
Pro specifické dotazy můžeš použít metodu
Nette\Database\Connection::exec
.
Super, můžu psát přímo SQL. Myslím, že tuto metodu budu používat na všechny dotazy. :-)
- hrach
- Člen | 1838
respektive Nette\Database\Connection::query
$conn->query('SELECT * FROM table WHERE id = ?', $id);
- Radimorous
- Člen | 30
hrach napsal(a):
respektive Nette\Database\Connection::query
$conn->query('SELECT * FROM table WHERE id = ?', $id);
Funguje to výborně, díky! Jsem rád, že se nemusím učit nějakou db vrstvu a můžu takhle psát přímo všechno v sql.