Gridito, ambiguous id, nejdnoznačné id, prosím o pomoc
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- demonic
- Člen | 19
Zdravím,
Jendá se o Gridito (falešný datagrid) od Jana Marka
$grid->setModel(new \Gridito\DibiFluentModel(
$db->select('m.*')->from('::mistnosti m')->where("uz.uzivatele_id = %i AND uz.zarizeni_id = %i", $userId, $restaurantId)
->leftJoin('::zarizeni z')->on('m.zarizeni_id = z.id')
->leftJoin('::uzivatelska_zarizeni uz')->on('z.id = uz.zarizeni_id')
));
Při akci delete mi to z nepochopitelného důvodu přidá za tento dotaz k gridu 'id' = nejake id, Jak to mám napravit? Obdržuju hlášku mysql že id je nejednoznačné což je pochopitelné.
$grid->addButton("delete", "Smazat", array(
"handler" => function($row) use ($grid){
$OfficeModel = new \Model\Office;
//Debug::dump($contractModel);
//$contractModel->deleteContract($row->id);
if($OfficeModel->deleteRoom($row->id)){
$grid->flashMessage("Místnost byla úspěšně odstraněna.", "success");
}
else{
$grid->flashMessage("Nebylo možné dokončit operaci, zkuste to prosím znovu.", "error");
}
$grid->redirect("this");
},
"icon" => "ui-icon-closethick",
"confirmationQuestion" => function ($grid) {
return "Opravdu smazat místnost? (může obsahovat stoly k rezervacím)";
},
"showText" => false
));
Dotaz pak vypadá k mému nepotěšení takto:
SELECT m.*
FROM mistnosti m
LEFT JOIN zarizeni z ON m.zarizeni_id = z.id
LEFT JOIN uzivatelska_zarizeni uz ON z.id = uz.zarizeni_id
WHERE uz.uzivatele_id = 3 AND uz.zarizeni_id = 1 AND `id` = 3
Column 'id' in where clause is ambiguous
Díky moc za pomoc, nevím co s tím
Editoval demonic (12. 9. 2011 13:55)