Doktrini ORM kullanarak iki tablodan bilgi almak için doğru yolu nedir

0 Cevap php

Ben basit bir iki tablo birleştirme gerçekleştirmek için çalışıyorum ve sorun kullanmak için doğru sözdizimi bulma yaşıyorum - Ben basit bir şey eksik biliyorum.

From the 'users' table i need the id (working fine) and from the 'meta' table i need the last_name (not working)

$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;
}

I've also tried adding an explicit select(u.id, m.last_name) to the query but the result is always the same

Uncaught exception 'Doctrine_Record_UnknownPropertyException' with message
'Unknown record property / related component "last_name" on "Users"

Obviously the property I am trying to access is not in the users table. -The query works fine, as if I don't request the last_name field - my application works as expected..

//proof   
foreach($users as $user){
    $user_array[$user->id] = 'fake_last_name!';
}

Herkes (belgelerinde bir sayfa için bile bir link) SQL doucmentation çıktı sorguyu DQL BİRLEŞTİRME yerine sonuçlarını yinelemeye tüm örneklerde bunu ifade edeceğimi basit bir örnek verebilir misiniz ...

Doctrine Documentation: Join Syntax

0 Cevap