$where[] = 'keyword LIKE "%'.$data['keyword'].'%"'; $where[] = 'name LIKE "%'.$data['keyword'].'%"'; $where[] = '`'.$table.'`.`catids` LIKE "%\"'.intval($c).'\"%"';
在模型中使用->where($where)時,$where[0]會變成0默認不是數(shù)字,sql中體現(xiàn)為,出現(xiàn)拼接錯誤,如果使用where()這個有辦法規(guī)避嗎?
SELECT `id`, `keyword`, `keyword_id` FROM `jm_keyword_rank` WHERE `search_engine` = 'baidu_pc' AND 0 = 'keyword LIKE \"%ASE光源%\"' GROUP BY `keyword_id` ORDER BY `inputtime` DESC LIMIT 10
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
目前就是這樣處理的,這個是bug 嗎?
如果直接寫sql 調(diào)用$this->query($sql),查不出數(shù)據(jù),在sql中就可以查到數(shù)據(jù),這個是啥原因的?
不是bug,where不能傳入數(shù)組格式啊
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
哦,但是第二個數(shù)組就沒有問題了,就第一個有這樣的問題。
如果是多組where,不使用數(shù)組,是要自己拼接成一個嗎?好像where()只做一些簡單的賦值,復(fù)雜的就不行。
比如:
$where[] = '`top_rank` <= 10'; $where[] = '`top_rank` <= 20'; $where[] = '`top_rank` <= 30'; $where[] = '`keyword` LIKE "%'.$data['keyword'].'%"'; $where[] = '`search_engine` = "baidu_pc"'; ->where(implode(" AND ", $where)) 這樣或者
->where('`top_rank` <= 10')->where('`top_rank` <= 20')->where('`top_rank` <= 30')開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復(fù)@迅睿官方技術(shù)專家 使用的是這種->where(implode(" AND ", $where)),還是要自己處理