CodeIgniter/PHP/MYSQL
我有两个具有这种结构的表。
- 国家/地区:ID、国家/地区名称(1、印度尼西亚、2、印度)
- STATE:id、country_id、state_name (1,1,Sulawesi Selatan) (2,1,Sulawesi Tengah) (3,1,Sumatera Utara) (4,2,Gujarat)
我想使用多个表进行搜索。
例如,如果我输入“si”,那么它会给出类似的结果
<小时/>印度尼西亚 ------- 苏拉威西南部
印度尼西亚 ------- 苏拉威西岛
印度-------------古吉拉特邦
<小时/>如何在 codeingniter 查询中找到此结果: 我正在尝试这个查询:
SELECT ts.id,ts.state_name,tc.country_name
FROM STATE ts
LEFT JOIN COUNTRY tc
ON tc.id = ts.country_id
WHERE ts.state_name LIKE '%si%' || tc.country_name LIKE '%si%'
我的查询输出:
<小时/>苏拉威西南部 ------- 印度尼西亚
苏拉威西登加岛 ------- 印度尼西亚
北苏门答腊岛 ------- 印度尼西亚
<小时/>最佳答案
使用or_like()/orlike(),更多信息请引用:https://codeigniter.com/userguide2/database/active_record.html
$this->db->select("ts.id,ts.state_name,tc.country_name");
$this->db->from("STATE ts")
$this->db->join("COUNTRY tc","tc.id = ts.country_id","Left");
$this->db->like('ts.state_name', $word);
$this->db->or_like('tc.country_name',$word);
关于php - 具有多个表的搜索结果,如查询 CodeIgniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49314184/