NetteDatabase: V datech z MySQL se objevují „nuly“ tam kde se má vracet VARCHAR

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

Zdravím, mám celkem kuriózní problém. Načítám data z databáze, dvojitý left join, (dvojitá vazba 1:1).

Ukázka celé funckce jež vrací data z Databáze. V tomto případě se $type == 'dojo'

public function getProfile($id, $type) {
        if (!in_array($type, $this->getTypesKeys())) {
            throw new \InvalidArgumentException("Invalid type: '{$type}'");
        }

        return $this->db->fetch("
                SELECT * FROM profile
                LEFT JOIN _{$type} ON profile.id = _{$type}.profile_id
                LEFT JOIN branch ON profile.id = branch.profile_id
                WHERE profile.id = ?", $id);
    }

Dumpnutá data:

Nette\Database\Row(31) {
id ⇒ 1
type ⇒ „dojo“ (4)
user_id ⇒ 2
time_created ⇒ „2011–11–30 00:25:34“ (19)
time_updated ⇒ „2011–11–30 00:25:36“ (19)
flag_organisation ⇒ „1“
profile_id ⇒ 2
name ⇒ 0
organisation_name ⇒ „Achses Dojo“ (11)
url_website ⇒ ""
url_facebook ⇒ ""
url_map ⇒ ""
url_youtube ⇒ ""
url_youtube_channel ⇒ ""
contact_email ⇒ ""
contact_telephone ⇒ ""
owner_name ⇒ ""
owner_surname ⇒ ""
contact_name ⇒ ""
contact_surname ⇒ ""
contact_title ⇒ ""
location_continent ⇒ „europe“ (6)
location_country ⇒ 0
location_state ⇒ „praha“ (5)
location_city ⇒ „praha“ (5)
flag_hq ⇒ „0“
address_city ⇒ „Prague“ (6)
address_street ⇒ 0
address_postalcode ⇒ „12345“ (5)
address_country ⇒ „Czech Republic“ (14)
custom_name ⇒ „Hlavní HQ od Achses DOJO“ (25)

}

Tučně jsou vyznačené ‚divné‘ řádky. Měly by tam být VARCHAR data. Když ten samý dotaz proženu PHPmyAdminem, vše je v pořárku.

Verze Frameworku: Nette Framework (version 2.0-dev released on 2011–12–07)

Struktura tabulek:

`

_dojo
id int(20)
profile_id int(20)
name varchar(200)
organisation_name varchar(200)
url_website varchar(200)
url_facebook varchar(200)
url_map varchar(200)
url_youtube varchar(200)
url_youtube_channel varchar(200)
contact_email varchar(200)
contact_telephone varchar(200)
owner_name varchar(200)
owner_surname varchar(200)
contact_name varchar(200)
contact_surname varchar(200)
contact_title varchar(200)



profile
id int(27)
type enum(‚agent‘,‚cardgirl‘,‚dojo‘,‚fighter‘,‚group‘,‚healthpro‘,‚ppvpub‘,‚promoter‘,‚sensei‘)
user_id int(11)
time_created datetime
time_updated datetime
flag_organisation tinyint(1)



branch
id int(32)
location_continent varchar(200)
location_country varchar(200)
location_state varchar(200)
location_city varchar(200)
profile_id int(27)
flag_hq tinyint(1)
address_city varchar(400)
address_street varchar(400)
address_postalcode varchar(400)
address_country varchar(400)
custom_name varchar(200)


`

Díky za pomoc.

Editoval Achse (29. 12. 2011 21:18)

ViPEr*CZ*
Člen | 822
+
0
-

Zkuste novější revizi, mělo by to být už ok.

Achse
Člen | 44
+
0
-

Díky mockrát. Aktuální revize z dnešního data šlape krásně. Některé věci jsou tak prosté. Díky. :)

paranoiq
Člen | 392
+
0
-

šlo o tenhle bug: https://github.com/…e/issues/382. už je to opraveno