2 つのテーブルで単純な結合を実行しようとしていますが、使用する適切な構文を見つけるのに苦労しています。単純なものが不足していることはわかっています。
「users」テーブルからは ID が必要であり (正常に動作)、「meta」テーブルからは last_name が必要です (動作していません)。
$q = Doctrine_Query::create()
->from('Users u')
->leftJoin('u.Meta m');
$users = $q->execute();
//attempt 1
foreach($users as $user){
$user_array[$user->id] = $user->last_name;
}
//attempt 2
foreach($users as $user){
$user_array[$user->id] = $user->m.last_name;
}
また、クエリに明示的な select(u.id, m.last_name) を追加しようとしましたが、結果は常に同じです
Uncaught exception 'Doctrine_Record_UnknownPropertyException' with message
'Unknown record property / related component "last_name" on "Users"
明らかに、アクセスしようとしているプロパティは users テーブルにありません。- last_name フィールドを要求しないかのように、クエリは正常に動作します - 私のアプリケーションは期待どおりに動作します..
//proof
foreach($users as $user){
$user_array[$user->id] = 'fake_last_name!';
}
これを行う方法の簡単な例を誰でも提供できますか (ドキュメント内のページへのリンクでも)、ドキュメント内の JOINING DQL のすべての例は、結果を反復する代わりにクエリを SQL に出力します...