Dotaz na databázi s pomlčkou v názvu sloupce

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

Zdravím,
jsem úplný začátečník s Nette a potřeboval bych poradit s problémem vykonání dotazu.
Vypisuji data z tabulky, která se jmenuje ok-kategorie. Nette však můj dotaz vyhodnotí jako:
SELECT * FROM `ok-kategorie`

$this->connection->table('ok-kategorie');

Na této tabulce mám postavený celý systém, tak se mi nechce měnit pomlčku za podtržítko (které funguje správně).
Je v Nette nějaké řešení jak tento dotaz položit správně?
Díky moc za každou radu.

stefi023
Člen | 71
+
0
-

Co je na to dotazu SELECT * FROM `ok-kategorie` spatne? Oescapovane je to spravne… Jinak nevim Nette\Database nepouzivam…

i kdyz parkrat jsem take s pomlckou mel v ruznych verzich mysql/na ruznych OS problem (nejen na jmenech tabulek, ale i sloupcu, uzivatelu,… ), proto se jim vyhybam jak cert krizi :)

hAssassin
Člen | 293
+
0
-

ano, pojmenovani neni nejstastnejsi, ale pokud to je obaleno zpetnymi apostrofy (aspon co se MySQL tyce) je vse v poradku, ne? Takze dotaz je spravne. Otazkou zustava co je vlastne tvuj dotaz tady v tomto vlakne? Haze to nejakou chybu? A popr. jakou?

stefi023
Člen | 71
+
0
-

Je ale pravda, ze ja mel na urcitych strojich parkrat s pomlckou problem, i kdyz jsem to mel spravne oeascapovane…

Barbarossa
Člen | 74
+
0
-

stefi023 napsal(a):

Co je na to dotazu SELECT * FROM `ok-kategorie` spatne?

Omlouvám se za chybné uvedení (v diskusi se odstranily ty apostrofy).
Takhle to můj dotaz chápe Nette:

SELECT * FROM `ok`-`kategorie`

Nicméně už jsem to vyřešil normálním způsobem:

->query("SELECT * FROM `ok-kategorie`");

Teď hlavně řeším jak vypsat stromovou strukturu té kategorie.

redhead
Člen | 1313
+
0
-

A nejde tohle? (střílím od boku)

$this->connection->table('`ok-kategorie`');

Nicméně, máš poslední verzi Nette? Když tak zadej issue na GitHub, @hrach to snad vyřeší (mám ale pocit, že už jsem nějakou podobnou chybu s umístěním backticks na fóru viděl).

Editoval redhead (12. 2. 2013 21:06)

Barbarossa
Člen | 74
+
0
-

redhead napsal(a):

A nejde tohle? (střílím od boku)

$this->connection->table('`ok-kategorie`');

Nicméně, máš poslední verzi Nette? Když tak zadej issue na GitHub, @hrach to snad vyřeší (mám ale pocit, že už jsem nějakou podobnou chybu s umístěním backticks na fóru viděl).

To už jsem také zkoušel, vyhodí to tuto chybu:

SHOW FULL COLUMNS
FROM ```ok-kategorie```

Nette mám aktuální týden, protože s ním teprve začínám :)

Landsman
Člen | 152
+
0
-

Řeším to samé, jak to dopadlo? :)
Funguje?

->query("SELECT * FROM `ok-kategorie`");

Editoval Landsman (10. 6. 2013 12:04)