0
我有以下結構的郵政編碼區域表:Laravel 5.4搜索後區通配符
|id |post_district | search |local_authority |gov_region |country |
|31 |BA22 |BA22, BA2*, BA*|South Somerset |South West |England |
|32 |BA9 |BA9, BA* |South Somerset |South West |England |
(所有列的類型爲字符串)。搜索列包含郵編可能的通配符變體。
我在創建函數時會傳入代碼(可能使用通配符,因此搜索)並返回所有匹配的行。
類似以下內容:
function SearchPostDistrict($code){
return DB::table('postcodes_area')->where($code, is_substring($this))->get() //PSEUDO-CODE
}
這將是簡單的,如果我能有一個數組列類型,只是有一個where子句
->whereIn($code, 'search')
是否有可能在laravel 5.4有一些像這樣的複雜的查詢生成器功能?
或者,我可以返回所有郵編區域(其中有2451條記錄)。然後遍歷每個檢查$ code是否是記錄搜索變量的子字符串,並自己構建一個集合,以便返回。
這會是一個性能問題嗎?這是我對Laravel知之甚少的一面。這對我有什麼影響?
解決方案: 我相信我可以用
function SearchPostDistrict($code){
return DB::table('postcodes_area')->where('search', 'LIKE', '%'.$code.'%')->get();
}
可以使用任何上述功能的獲得spesific帖子在LARAVEL –