db_select - több táblás lekérdezés

danart képe

Sziasztok,

adatbázisból szeretnék lekérdezni, de valamiért nem akar összejönni a dolog.

$query = db_select('users','u')        
        -> fields('u')
        -> join('field_data_field_user_age', 'a', 'a.entity_id = u.uid')
        -> condition('a.field_user_age_value', 24, '>')
        -> condition('a.field_user_age_value', 28, '<') 
        -> execute();

Szerintem jól kivehető mit szeretnék, tudna valaki segíteni, hogy hol a hiba a lekérdezésben?

Az hiba üzenet: Fatal error: Call to a member function condition() on a non-object in ...

Köszi a segítséget!

Üdv.:
Dani

Drupal verzió: 
segi képe

abból adódik, hogy bizonyos eljárások nem fűzhetők egymás után, ebben az esetben a join() az amelynek nem megfelelő a visszatérési értéke. Itt egy kisebb lista az eljárásokról hogy melyeket lehet és melyeket nem lehet egymás után fűzni!
A megoldás a problémádra valahogy így fog kinézni:

  $query = db_select('users','u')        
        -> fields('u');
  $query->join('field_data_field_user_age', 'a', 'a.entity_id = u.uid');
  $query->condition('a.field_user_age_value', 24, '>');
  $query->condition('a.field_user_age_value', 28, '<'); 
  $query->execute();

Mondjuk majd a végére valami fetch() eljárás még nem árt hogy jól tudd kezelni az adatokat.
2
0

Drupal developer at Cheppers

danart képe

Köszi, a választ. :)

0
0