J'utilise les classes d'enregistrement actifs de CodeDigniter et je récupère une erreur en utilisant le code suivant:
Error Number: 1052 Column 'id' in order clause is ambiguous SELECT * FROM (`atoms`) JOIN `atommeta` ON `atommeta`.`atom_id` = `atoms`.`atom_id` ORDER BY `id` LIMIT 10 Filename: /Applications/MAMP/htdocs/atom/models/atom_model.php Line Number: 197
3 Réponses :
L'erreur signifie que vous essayez de commander par un nom de colonne utilisé dans plusieurs table. Mettez à jour votre Ordre_By Code> Déclaration avec le nom de la table qui a la colonne que vous souhaitez commander par. Par exemple:
Laissez-le pour que d'autres qui rencontrent le même problème auront une solution :)
Je ne sais pas pourquoi les autres répondent quand il a déjà été répondu.
@Brogrammer Si vous regardez le moment où des réponses ont été postées, vous pourriez voir qu'ils sont très proches les uns des autres. Personnellement, j'ai répondu parce que j'ai eu une notification d'une réponse déjà affichée lorsque le mien était terminé et j'étais sur le point de frapper le bouton d'envoi. La réponse de NobDisd, à la place, vient exactement 15 secondes avant la mienne, on pourrait facilement dire que nous avons répondu à la fois. Donc, "pourquoi les autres répondent", a dit 9 minutes après la dernière réponse, c'est une question étrange
On dirait qu'il y a une colonne code> ID code> dans votre Vous voudrez p> ou p> atomstta code> et
atomes code> tables. Parce que vous rejoignez ces tables, vous devrez spécifier la colonne que vous souhaitez commander par.
Vous devez spécifier quelle table qui "est" appartient à.
$this->db->order_by("atoms.id");
Parce que le nom de la colonne
'id' code> est ambigu ... ... ... ...