久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

TP5.1 多表關聯查詢中實現搜索功能

瀏覽:111日期:2022-06-04 17:46:06

問題描述

多表關聯搜索功能的問題:

代碼如下:

// 實現搜索功能$productName = Request::param('productName');$storeName = Request::param('storeName');if ( !empty($productName) && empty($storeName) ) { $map[] = ['p.name', 'like', '%' . $productName . '%'];} else if ( !empty($storeName) && empty($productName) ) { $map[] = ['s.name', 'like', '%' . $storeName . '%'];} else if ( !empty($productName) && !empty($storeName) ) { $map[] = ['p.name', 'like', '%' . $productName . '%']; $map[] = ['s.name', 'like', '%' . $storeName . '%'];}// 定義分頁參數$limit = isset($_GET['limit']) ? $_GET['limit'] : 10;$page = isset($_GET['page']) ? $_GET['page'] : 1;$stockList = StockModel::where($map) -> alias('sk') -> leftJoin('product p', 'sk.product_id = p.id') -> join('store s', 'sk.store_id = s.id') -> where('sk.status', 1) -> order('sk.product_id', 'desc') -> field('sk.*, p.name as product_name, s.name as store_name') -> page($page, $limit) -> select();

1、以上代碼中,想實現的搜索功能,但是$map條件中,因為搜索的是通過join加入的附表的字段,所以用附表的別名.字段的形式,如:p.name, s.name,這樣搜索有問題,生成的SQL語句中,把兩個附表都過濾了,如下:

TP5.1 多表關聯查詢中實現搜索功能

TP5.1 多表關聯查詢中實現搜索功能

這樣的結果附加表沒了,所以字段加了別名就不對了。

2、把搜索條件哪里,改成表名.字段的形式,這樣搜索主表的字段是沒問題,但是搜索附表還是有問題,這樣生成的SQL語句中,附表保留了,但是搜索還是有問題,報錯如下:

TP5.1 多表關聯查詢中實現搜索功能

TP5.1 多表關聯查詢中實現搜索功能

哪位大神幫忙看一下,這個要怎么做呢???

問題解答

回答1:

看你這寫的是想在兩張關聯的表里查數據吧,你用parma接受兩個值嗎?

你可以這樣,只接收一個值$where

$map[] = ['p.name | s.name', 'like', '%' . $productName . '%'];

然后用鏈接查詢,再加上分組”gruop",試試看一下!

不知道我說的對不對

相關文章:
主站蜘蛛池模板: 久在线观看 | 毛片aaa | 久久精品免费国产 | 在线视频一区二区三区 | 午夜精品影院 | 成人精品视频在线 | 日韩在线观看视频一区二区三区 | 国产日韩亚洲欧美 | 久久久网| 国产97在线 | 免费 | 国产精品www| 久久不卡日韩美女 | 久久久久国产一区二区三区 | 国产精品夜夜 | 久草免费福利 | 天天看天天摸天天操 | 五月婷婷狠狠爱 | www成人精品 | 精品视频一区二区三区 | 香蕉久久网 | 欧美亚洲免费 | 九九九色 | 国产一区精品电影 | 国产一区二区av在线 | 日韩中文在线 | 国产亚洲欧美一区 | 99久久久国产精品美女 | 男女午夜网站 | 国产精品一区二区三区在线 | 日本久久久久久 | 欧美激情a∨在线视频播放 中文字幕网在线 | 91在线视频播放 | 久久久精品一区二区 | 天天摸天天看 | 中文av在线免费观看 | 毛片毛片毛片毛片毛片毛片 | 国产成人在线电影 | 色国产精品 | 国产一区二区三区精品久久久 | 国产欧美日韩一区 | 免费成人av网站 |