problem s mazanim polozky z DTB v navaznosti na ID v subtabulce

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

ahoj mam takovyto prikaz:

$tab = \App\Glb::$TABS['pavouci'];

$this->db->table($tab)
                ->where('id = ? AND
                        klienti.users_id = ?',
                        $idPavouka, $idUzivatele)
                ->delete();

vysledek Column not found: 1054 Unknown column ‚klienti.users_id‘ in 'where clause''

--
-- Struktura tabulky `pavouci`
--

CREATE TABLE IF NOT EXISTS `pavouci` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nazev` varchar(200) NOT NULL,
  `klienti_id` int(11) NOT NULL,
  `data` text NOT NULL,
  PRIMARY KEY (`id`),
  KEY `klienti_id` (`klienti_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

--
-- Omezení pro exportované tabulky
--

--
-- Omezení pro tabulku `pavouci`
--
ALTER TABLE `pavouci`
  ADD CONSTRAINT `pavouci_ibfk_1` FOREIGN KEY (`klienti_id`) REFERENCES `klienti` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;









--
-- Struktura tabulky `klienti`
--

CREATE TABLE IF NOT EXISTS `klienti` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `jmeno` varchar(200) NOT NULL,
  `prijmeni` varchar(200) NOT NULL,
  `users_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `users_id` (`users_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

--
-- Omezení pro exportované tabulky
--

--
-- Omezení pro tabulku `klienti`
--
ALTER TABLE `klienti`
  ADD CONSTRAINT `klienti_ibfk_1` FOREIGN KEY (`users_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
F.Vesely
Člen | 369
+
+2
-

Podle me Nette\Database neumi delete s joinem. Budes si muset napsat SQL.

CZechBoY
Člen | 3608
+
0
-

Neumi. Jde to jednoduse pridelat, ale neslo mi to treba v Oraclu.

Lepsi je si vyselectovat primarni klice radku, ktery chci smazat, a pak druhym dotazem jednoduse smazes podle pk.

Editoval CZechBoY (1. 1. 2016 20:11)