id v modelu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- RaR
- Člen | 42
Vyšel jsem ze vzorového příkladu Akrabat.forms. Pokud použiji konstrukci
<?php
$termine->delete((int) $this->getParam('id'));
?>
tak se generuje dotaz
"DELETE FROM `termines` WHERE `id` IN (52 )"
Jak mám dibi donutit, aby použila místo id
můj
identifikátor termineId
?
Zřejmě to nějak dostat do modelu, bo u každý tabulky se id
jmenuje jinak.
Díky za tip.
- Mas3r
- Člen | 116
Musíš změnit $primary u tvého DibiModelu. viz.:
https://api.dibiphp.com/…leX.php.html#44
Editoval Mas3r (25. 11. 2008 13:51)
- romansklenar
- Člen | 655
Můžeš si změnit primární klíč, jeho datový typ i jméno tabulky (není podmínkou, že třída se jmenuje stejně jako tabulka v db):
class MyModel extends DibiTableX
{
/** @var string primary key name */
protected $primary = 'termineId';
/** @var string table name */
protected $name = 'tableName';
/** @var string primary key type */
protected $primaryModifier = '%i';
}
Spíš ale směřuj dotazy na dibi do dibifóra.
EDIT: Mas3r byl o 21 sekund rychlejší :)
Editoval romansklenar (25. 11. 2008 13:45)