CodeIgniter应用程序有一个搜索引擎,我想为结果添加条件。 模型中的一些代码:
$this->db->select(users.country_symbol);
和
function getUsers($conditions=array())
{
//Check For Conditions
if (is_array($conditions) and count($conditions)>0)
$this->db->where($conditions);
}
在控制器上我有:
$users = $this->search_model->getUsers(NULL)
如何将NULL更改为请求具有与$this->loggedInUser->country_symbol
相同country_symbol的用户的条件?
答案 0 :(得分:0)
您可以像这样修改您的功能:
function getUsers($conditions = array())
{
if (is_array($conditions) && count($conditions) > 0) {
foreach ($conditions as $condition) {
$this->db->where($condition['where'], $condition['value']);
}
}
// return results...
}
然后你可以这样做:
$conditions = array(
array('where' => 'country_symbol =', 'value' => $this->loggedInUser->country_symbol),
array('where' => 'zip_code', 'value' => '12345'),
// and so on...
)
$users = $this->search_model->getUsers($conditions);
我没有测试过这段代码,但这是基本的想法。您需要遍历条件数组并使用$this->db->where()
或类似函数应用每个条件。