tp5连表查询时,where语句冲突问题
今天做连表查询的时候,发现加入where语句时会报该条件不明确的sql错误,有点懵,
翻找了一些资料,发现是其中两张表有相同的字段名,我又没有指定该where条件是哪张表的该字段。
修改为where为以下代码即可
$where = array(
'a.store_id' => $storeId,
'a.goods_user_status' => 1,
);
public function index()
{
//获取当前店铺id
$uid = session('home_uid');
$storeId = db('store')->where('store_uid',$uid)->field('store_uid')->find();
$storeId = implode(" ",$storeId);
$storeId = (int)$storeId;
$where = array(
'a.store_id' => $storeId,
'a.goods_user_status' => 1,
);
//全部商品
$goodsRes = Db('goods')
->alias('a')
->join('goods_class b','a.class_id = b.class_id','LEFT')//商品分类
->join('store_class c','a.store_class_id = c.class_id','LEFT')//店铺分类,在个人店铺里的
->field('a.* , b.class_name, c.class_name as store_class_name')
->where($where)
->order('goods_id desc')
->paginate(10);
$this->assign([
'seo_title'=> '店铺商品-' . config('site.WEB_TITLE'),
'seo_keywords'=> config('site.WEB_KEYWORDS'),
'seo_desc'=> config('site.WEB_DESCRIPTION'),
'goodsRes' => $goodsRes,
]);
return $this->fetch('seller_goods/index');
}
本文作者:潘潘潘的博客
本文链接:https://www.cnblogs.com/seanpan/p/11365546.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步