Ich verstehe, dass Sie in der Anweisung db_select -> unique () angeben können, damit nur beim Betrachten ALLER Felder unterschiedliche Werte zurückgegeben werden. Ich möchte jedoch unterschiedliche Werte zurückgeben, indem ich nur EIN Feld betrachte. Hier ist mein Code:
$event_table = db_select('my_table', 'e')
->distinct()
->orderBy('e.time', 'ASC');//ORDER BY
$event_table->join('node', 'n', 'e.nid = n.nid'); //JOIN node with events
$event_table->groupBy('e.time');//GROUP BY time
$event_table->fields('e')//SELECT the fields from events
->fields('n',array('type','status','title'))//SELECT the fields from node
->orderBy('e.time', 'ASC');//ORDER BY
$result_event_table = $event_table->execute();
$result_event_table = $result_event_table->fetchAllAssoc('time');
Angenommen, ich möchte, dass die eindeutige Spalte e.nid ist. Sie würden denken, dass -> different ('e.nid') funktionieren würde, aber es werden immer noch unterschiedliche Werte basierend auf allen Feldern zurückgegeben (dh different (Spalten1, Spalte2, Spalte3 usw.).
db_select
, dasselbe zu tun