Je comprends que vous pouvez spécifier -> distinct () sur l'instruction db_select afin qu'elle ne renvoie que des valeurs distinctes lorsque vous regardez TOUS les champs. Mais ce que je veux, c'est retourner des valeurs distinctes en ne regardant qu'un seul champ. Voici mon 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');
Supposons que je veuille que la colonne distincte soit e.nid. On pourrait penser que -> distinct ('e.nid') fonctionnerait mais il renvoie toujours des valeurs distinctes basées sur tous les champs (c'est-à-dire distinct (colonnes1, colonne2, colonne3, etc.).
db_select
faire de même