Как поставить условия на поисковик, построенный на CodeIgniter - PullRequest
0 голосов
/ 16 сентября 2011

Приложение 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 на условие, которое запрашивает пользователей с тем же country_symbol, что и $this->loggedInUser->country_symbol?

1 Ответ

0 голосов
/ 16 сентября 2011

Вы можете изменить свою функцию следующим образом:

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() или аналогичной функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...