今天作連表查詢的時候,發現加入where語句時會報該條件不明確的sql錯誤,有點懵,sql
翻找了一些資料,發現是其中兩張表有相同的字段名,我又沒有指定該where條件是哪張表的該字段。session
修改成where爲如下代碼便可fetch
$where = array(
'a.store_id' => $storeId,
'a.goods_user_status' => 1,
);ui
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
$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');
}seo