NDB insert select sucasne

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

Caute viete mi poradit? Mam Insert:

INSERT INTO taxonomy_closure (ancestor,descendant, depth)
SELECT ancestor, 11, depth+1 FROM taxonomy_closure
WHERE descendant = 10;

napadol ma len jeden sposob impementacie:

$select = $this->taxonomyClosure->getTable();
$select->select('ancestor, depth');
$select->where('descendant',10);

foreach($select as $item){
	$this->taxonomyClosure->getTable()->insert(
		array(
			'ancestor' => $item->ancestor,
			'descendant' =>11,
			'depth' => $item->depth+1,
      		)
	);
}

Existuje aj nejake lepsie riesenie?

David Matějka
Moderator | 6445
+
0
-

category closure mam vyreseny pomoci triggeru – v tabulce category mam navic parent_id (to v http://blog.voracek.net/…rochu-jinak/ neni) a v pripade vlozeni nove kategorie nebo v pripade upravy parent_id se spusteji triggery s tema dotazama. v aplikaci se potom o zadnou tuhle logiku starat nemusim, jen nastavim id rodice..

enumag
Člen | 2118
+
0
-

V NDB přímá podpora pro INSERT … SELECT … není, takže v tuto chvíli prostě $connection->query() nebo trigger.