Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Wie übergebe ich Doctrine einen RAW Query?

1 view
Skip to first unread message

Andre Schmidt

unread,
Nov 13, 2009, 10:58:58 AM11/13/09
to
Hallo,

sorry, aber aus der Dokumentation rund um Doctrine werde ich nicht schlau.

Ich möchte "einfach" einen RAW Query an Doctrine übergeben, genauer
"SET NAMES utf8 COLLATE utf8_general_ci"

Das war einfach. Jedoch alle Beispiele, die ich entweder in der
Dokumentation oder im Netz fand, funktionierten nicht.

Im Prinzip will ich das nur nach der Initialisierung:

> $manager = Doctrine_Manager::getInstance();
> $manager->openConnection(DSN, 'doctrine');
> $manager->setCharset('utf8');
> $manager->setCollate('utf8_general_ci');
> $manager->setAttribute('model_loading', 'conservative');

Wer kann mir helfen?

Danke und Gruß
André


Sam Kang

unread,
Nov 13, 2009, 2:19:02 PM11/13/09
to
Andre Schmidt schrieb:
> Hallo,

> Ich möchte "einfach" einen RAW Query an Doctrine übergeben, genauer
> "SET NAMES utf8 COLLATE utf8_general_ci"


Doctrine setzt auf PDO auf.

Also könnte bei dir folgendes klappen:

...


$manager = Doctrine_Manager::getInstance();
$manager->openConnection(DSN, 'doctrine');
$manager->setCharset('utf8');
$manager->setCollate('utf8_general_ci');
$manager->setAttribute('model_loading', 'conservative');

...

jetzt mit PDO weiter:

$con = $manager->connection();
$stmt = $con->execute("SET NAMES utf8 COLLATE utf8_general_ci");

evtl. noch:

print_r($con->errorInfo());

um zu sehen ob es geklappt hat. Das Dumme (oder auch Gute) bei PDO ist, das
jede Connection isoliert ist. D.h. du musst das für jede Instance der Doctrin
machen. Ich verstehe nur nicht warum das setCharset('utf8') nicht geht.


Sam


--
Sufficiently advanced incompetence is indistinguishable from malice
(J. Porter Clark)

Andre Schmidt

unread,
Nov 13, 2009, 5:17:38 PM11/13/09
to
Hallo,

Sam Kang wrote:

> $con = $manager->connection();
> $stmt = $con->execute("SET NAMES utf8 COLLATE utf8_general_ci");

Ja, vielen Dank! Das war es. Jetzt gibt es erstmal keine Probleme.

Gruß
Andre


0 new messages