为了满足复杂查询的需要,我使用了SQL查询的query方法,
$Model = new \Think\Model(); // 实例化一个model对象 没有对应任何数据表
$menuList=$Model->query(sql语句);
我的sql语句是关联查询,明明数据库表里有数据,就是死活查询不到,后来才发现是数据表中某字段值含有\r所致,因为这些数据是通过txt文件导入的,语句是load data local infile txt文件 into table tablename fields terminated by '\t';在导出生成txt的时候在这个字段的末尾自动莫名增加了\r。我是在phpmyadmin中全选记录删除时系统提示是否真的要删除的语句中看到的\r。原始数据在sql server2005,我是打开表后ctrl+a全选后直接复制到txt的,这个\r就是在这个时候增加的。在phpmyadmin中执行语句update tablename set menu_id=substring(menu_id,1,length(menu_id)-1)即可删除\r。