Codeigniter:order子句中的列'id'是不明确的

dar*_*ryl 5 php mysql activerecord codeigniter

我正在使用CodeIgniter的Active Record Classes,我正在使用以下代码检索错误:

$this->db->select("*");
$this->db->order_by("id");
$this->db->limit($limit, $offset);
$this->db->from("atoms");
$this->db->join("atommeta", "atommeta.atom_id = atoms.atom_id");

$query  = $this->db->get();
Run Code Online (Sandbox Code Playgroud)

它会产生以下错误:

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
Run Code Online (Sandbox Code Playgroud)

197行: $query = $this->db->get();

任何想法为什么?这似乎与...有关order_by

bir*_*ric 11

该错误意味着您尝试按多个表中使用的列名进行排序.order_by使用包含要排序的列的表的名称更新语句.例如:

$this->db->order_by('atoms.id');
Run Code Online (Sandbox Code Playgroud)