2014-09-26 2 views
0

У меня есть php-функция в кодировщике, настроенная для запуска запроса на основе всех значений, которые он задает. По умолчанию он установлен в моей модели, как так:php function not see value of parameter

function get_news($page=0, $limit=4, $offset=0, $name=0) { 
    if($name == 0) { 
     $query = $this->db->get('table', $limit, $offset); 
    } else { 
     $query = $this->db->get_where('table', array('name'=>''.$name.''), $limit, $offset); 
    } 
} 

Однако, когда я прохожу значение для $ имени в мой контроллер, он выполняет запрос на $ имя == 0

$name = "Bob"; 
$this->News_model->get_news($page=0, $limit=3, $offset=0, $name); 

Любой идея, почему значение $ name не проходит?

+1

Не вызывать функцию с помощью '$ this-> News_model-> get_news ($ стр = 0, $ предел = 3, $ смещение = 0 , $ name); '.... use' $ this-> News_model-> get_news (0, = 3, 0, $ name); '.... но что такое конкатенация в' array ('name' = > ''. $ name. ''), 'должен делать? –

ответ

2

Модель

function get_news($page=0, $limit=4, $offset=0, $name=0) { 
    if($name == 0) { 
    $query = $this->db->get('table', $limit, $offset); 
    } else { 
    $query = $this->db->get_where('table', array('name'=>$name), $limit, $offset); 
    } 
} 

использование

$name = "Bob"; 
$this->News_model->get_news(0, 3, 0, $name);