I'm running a little experiment:
For a couple of tables I'm using a UUID as primary key. This UUID is stored in
a BINARY(16) column. I've also implemented a custom UuidType, which strips out
the dashes and converts the hex to binary (and the other way around). This part
is working great.
Now I have a bidirectional OneToMany association from an entity with UUID as
Id, and another without. But Doctrine can't lazy-load the Collection properly.
It remains empty. In a query logger I can see the custom type is probably not
picked up:
QUERY.DEBUG: SELECT t0.id AS id1, t0.type AS type2, t0.label AS label3,
t0.status AS status4, t0.sort_order AS sort_order5, t0.assignment_id AS
assignment_id6 FROM assignment_section t0 WHERE t0.assignment_id = ? ORDER BY
t0.sort_order ASC
{"params":["ff98ff019-2e84-afc8-e691-31c151c87ae"],"types":[null],"time":0.00038599967956543}
The query logger shows "types":["uuid"] when fetching the root entity, so my
guess this is where it goes wrong: It binds the string version of the UUID as
parameter, which can't be found because the DB holds the binary version.
I'm going to dive into the internals of Doctrine, but I wanted to ask:
Is this a known limitation?
Does loading associations ignore the custom type on purpose?
If so, why was this done?
PS: Using PHP v5.5.18, Doctrine ORM v2.4.6 and MariaDB v10.0.14
--
Jasper N. Brouwer
(@jaspernbrouwer)
--
You received this message because you are subscribed to the Google Groups
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/d/optout.