ThinkPHP连接查询问题 10C

今天碰到了这样的问题

```public function getCarByWhere($where, $offset, $limit)
{
return $this->table('snake_car c')->join('snake_member m','c.boss = m.id','LEFT')->field('c.*,m.nick_name')->where($where)->where('c.is_delete',0)->limit($offset, $limit)->order('id desc')->select();
}

这样写没问题 
但是把$where['c.is_delete'] =0;写在$where中就报错找不到c.is_delete字段 
为什么会这样那

4个回答

好像得用alias吧

SuperRoze
SuperRoze 用了table可以不用alias设置别名
大约 2 年之前 回复

先确定是否由此字段,如有则输出sql语句在数据库管理工具运行一下就知道问题了

SuperRoze
SuperRoze 已解决。是后面的方法调用出的问题。
大约 2 年之前 回复

先写sql语句在数据库管理控制台运行看是否正常。

看你的语句应该是tp5或则tp5.1中写法。很明显$where['c.is_delete'] =0 这种写法已经是错了。你的“$where”是一个变量传进来的,你在这个变量中找c.is_delete,肯定找不到。而你where('c.is_delete',0)这样写,是在数据表中找。c表中是存在这个字段所以程序才会运行。这点问题,认真点自己就能解决。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问