Ich habe die folgende Tabelle
Test:
tableName: test
columns:
test_id:
name: test_id as id
primary: true
autoincrement: true
type: integer
notnull: true
test_name:
name: test_name as name
type: string(255)
test_title:
name: test_title as title
type: string(255)
und diese dql-Anweisung
$dql = Doctrine_Query::create()->select('t.name')->from('Model_Test t');
wird die folgende Sql generiert
SELECT t.test_id AS t__test_id, t.test_name AS t__test_name FROM test t
aber nach dem Abrufen des Ergebnisses in doctrine habe ich Zugriff auf das Titelfeld, auch wenn es nicht ausgewählt ist:
foreach ($results as $result) {
foreach ($result as $filed => $value) {
echo "$filed => $value <hr>"; // echoes 'title' => null but title in db has other value
}
}
auch ein Dump über Zend_Debug::dump($results->toArray()); zeigt mir alle Felder, als ob ich ein select * gemacht hätte
Wie kann ich also die zurückgegebenen Felder auf meine Auswahl beschränken?
Vielen Dank im Voraus
Martin
0 Stimmen
Haben Sie jemals die Lösung für dieses Problem gefunden? Ich habe auch damit zu kämpfen. Ich möchte nicht unnötigen Müll als json für Ajax Verbraucher übergeben.
0 Stimmen
Vergessen Sie's, ->setHydrationMode(Doctrine::HYDRATE_ARRAY) hat das Problem gelöst.