php activerecord ORDER BY导致查询失败

时间:2013-03-04 04:32:46

标签: php mysql codeigniter

我有一个使用php活动记录的codeigniter项目。当我运行此查询时,有3个表(用户,拳和作业)

$records = Punches::find_by_sql("Select * from jobs,users,punches where jobs.job_id = $job_id AND punches.job_id = $job_id AND punches.id= users.id AND NOT ISNULL(end_time) ORDER BY last_name,id "); 

查询失败。如果我在外面接受订单就可以了。请注意我已经使用了我能想到的ORDER BY的每个变体。

3 个答案:

答案 0 :(得分:2)

由于您要连接多个表,因此当列不唯一时,您需要指定要使用的表列。在您的情况下,您需要指定id列来自哪个表。

答案 1 :(得分:1)

具体针对id中的order by id,因为userspunches表也有ID

$records = Punches::find_by_sql("... ORDER BY last_name, TABLENAME.id"); 

答案 2 :(得分:0)

感谢无论谁建议我在phpmyadmin中运行它...这有助于快速发现错误。我需要tablename.id