NDB Subselect s nekonvečním názvem sloupce

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

Zdravím a prosím o radu, jak toto obejít.
Jen dotáhout název provozovny z jiné tabulky podle id.

Mám takový dotaz:

$this->database->table('clients')->select('clients.*, (SELECT name FROM branches WHERE clients.branch = branches.id) AS branch');

to protože sahám do db, kde nenám možnost změnit název sloupce clients.branch na clients.branches_id, co by měl být správny název a kde to mám tak mě to funguje dobře…

Ted to ale potřebují obejít a i když se to snažím udělat přes subselect nejde to a generuje me to toto:

SELECT `clients`.*, (
SELECT `name`
FROM `branches`
WHERE `clients`.`branch` = `branches`.`id`) AS `branch`
FROM `clients`
LEFT JOIN `branches` ON `clients`.`branches_id` = `branches`.`id`
LIMIT 25

Předem díky za pomoc.

GEpic
Člen | 566
+
0
-

Jakto že nemáš možnost měnit název sloupce? Nemáš právo na ALTER TABLE? :)

Editoval GEpic (3. 9. 2016 2:24)

CZechBoY
Člen | 3608
+
+1
-

Nevim jestli jsem si to nahodou nedopsal do forku, alde ja to hackuju pres obaleni nazvu tabulky do zpetnych apostrofu.

MW
Člen | 626
+
0
-

No nakonec to vzalo toto :) :

$this->database->table('clients')->select('clients.*, (SELECT name FROM branches WHERE clients.branch = id) AS branch');
MW
Člen | 626
+
0
-

GEpic napsal(a):

Jakto že nemáš možnost měnit název sloupce? Nemáš právo na ALTER TABLE? :)

Přistupuje tam vice systémů, nemůžu bez delšího testování změnit pod rukama název sloupce :)