Databaze Explorer – ref do jiné databaze

pista5
Člen | 72
+
0
-

Ahoj,
snazim se udelat toto v Database Exploreru

<?php
$this->database->fetchAll('SELECT b.*, u.username
	FROM `blogy`.`blogy` b
    LEFT JOIN `blog`.`phpbb_users` u USING (user_id)');
?>

zkousel jsem bez uspechu tyto 2 varianty:

<?php
$row->ref('blog.phpbb_users', 'user_id')->username

$row->ref('user_id')->username
?>

Druha varianta podle klice poznala, jakou tabulku hledat, ale nikoliv v jake databazi
„Table ‚phpbb_users‘ does not exist.“

Poradite prosim?

Editoval pista5 (19. 6. 2020 8:36)

pista5
Člen | 72
+
0
-

Jde to prosím vůbec?

dakur
Člen | 493
+
0
-

@pista5 S Database Explorerem jsem nikdy nepracoval, ale z logiky věci bych řekl, že pokud chceš pracovat nad dvěmi databázemi, musíš mít aktivní dvě připojení, tj. pravděpodobně dvě instance Database Exploreru. O tom, že by na úrovni SQL šlo pracovat na dvou databázích současně, jsem neslyšel, takže si spíš myslím, že budeš muset udělat dva separé dotazy. Něco jako:

$user = $this->database->fetch("SELECT * FROM users");
$articlesFromUser = $this->database2->fetchAll("SELECT * FROM articles WHERE user_id = %i", $user->id);

(Kód je fiktivní, nepochopil jsem, co jsi chtěl ve svém kódu udělat.)

Taky je ale možné, že Database Explorer má feature práce nad více databázemi, o které nevím, protože ho neznám. :-)

Editoval dakur (19. 6. 2020 14:01)

neznamy_uzivatel
Člen | 115
+
0
-

dakur napsal(a):

pokud chceš pracovat nad dvěmi databázemi, musíš mít aktivní dvě připojení:-)

… to není úplně ideální postup. Jedno připojení k databázi = jeden uživatel.
Jeden uživatel klidně může mít přístup k více databázím, je to úplně normální běžná věc, imho správný postup. Zatím nebyl čas zkoumat proč, ale od 2.4 mi to dělá podobné problémy, viz můj dotaz nedávno: https://forum.nette.org/…ine-databazi
Smířil jsem se s tím a píšu si zatím dotazy do db->query(), jelikož nebyl čas to zkoumat..

pista5
Člen | 72
+
+2
-

No také jsem to nakonec vzdal… asi nějaky bug

emololftw
Člen | 82
+
0
-

pista5 napsal(a):

No také jsem to nakonec vzdal… asi nějaky bug

Zdravím, dnes jsem nad tím strávil cca 1 hodinu. Vyřešil jste to?
Nerad bych obcházel nettackej query builder :(

nebo alternativa $db->query(‚USE …‘);

Editoval emololftw (10. 11. 2020 18:17)