Dotazky k dibi databázi zápis a update increment
- Domki
- Člen | 310
chci se zeptat
Co znamená resp jakej je rozdíl mezi dotazem
return $this->db->select(‚*‘)->from($this->table);
a pak jsem našel na netu něco jako:
dibi::query(‚
SELECT * FROM [table]
WHERE id = %i AND added > %d‘, $id, $time
);
A pak v nette database kdyz jsem mel tabulky spojene pres cizí klíč
Tak jsem si předal select z jedny tabulky.
a v latte jsem k ty druhy spojeny pres ciczi klic pristoupil
$select->druhatabulka->sloupec
da se to nejak udelat i v Dibi?
Díky
Editoval Domki (5. 6. 2014 10:25)
- Pavel Macháň
- Člen | 282
Domki napsal(a):
chci se zeptat
1. Co znamená resp jakej je rozdíl mezi dotazem.
return $this->db->select(‚*‘)->from($this->table);
a pak jsem našel na netu něco jako:
dibi::query(‚
SELECT * FROM [table]
WHERE id = %i AND added > %d‘, $id, $time
);2. A pak v nette database kdyz jsem mel tabulky spojene pres cizí klíč
Tak jsem si předal select z jedny tabulky.
a v latte jsem k ty druhy spojeny pres ciczi klic pristoupil
$select->druhatabulka->sloupec
da se to nejak udelat i v Dibi?
Díky
- To první je fluent zápis a to druhé klasické query (staticky nepoužívat)
- Dibi neumí … lze toho docílit třeba pomocí LeanMapper ORM, který je postaven právě nad dibi, ale už je to prostě ORM
Editoval EIFEL (5. 6. 2014 11:35)
- Pavel Macháň
- Člen | 282
Domki napsal(a):
1: Jaký se nemá používát?
Mě totiž u toho klasickýho zápisu to psalo neco ze nemá připojení, a u toho fluent to šlo2. Takže to pak musím udělat v dibi přes Join?
Díky
1. V nette dibi používej jako službu, takže třeba v modelu budeš s Db pracovat takto:
class Articles
{
/** @var \DibiConnection */
private $db;
public function __construct(\DibiConnection $connection) {
$this->db = $connection;
}
public function getById($id) {
$this->db->query('SELECT ......');
// .... nebo fluentem
$this->db->select('*')->from('....');
}
}
2. Ano pomocí join