Codeigniter, как вернуть несколько строк из одного столбца в модели - PullRequest
0 голосов
/ 17 сентября 2018

Мне нужно получить все строки, которые являются фильтрами по запросу.Но только первый ряд возвращается от модели к контроллеру.

Ниже приведена моя модель функции.Как получить все необходимые данные?

public function getOfferTags($param) {

    $this->db->select('tags.*');
    $this->db->from('tags');
    $this->db->join('offer_tag', 'offer_tag.tag_id = tags.id');
    $this->db->join('offers', 'offers.id = offer_tag.offer_id');
    $this->db->where('offers.id', $param);
    $query = $this->db->get();
    return $query->row();    

}

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Я просто хотел добавить, потому что вы новичок в CI, что вы всегда должны проверять, являются ли они строками, прежде чем использовать массив, чтобы предотвратить уведомления или проблемы.с помощью метода Мехты вы можете сделать if(count($rows) > 0) { //rows exist } else { // no rows, display error .etc. } или вы можете сделать:

$query = $this->db->get();
if ($query->num_rows() > 0) {
    return $query->result_array(); // or result() for obj
}
return false;

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

if ($this->somemodel->getOfferTags($stmt)) {
    // has data
} else {
    // no data
}

Важно начать с хороших практик, и это поможет;)

0 голосов
/ 17 сентября 2018

Просто не возвращать строки и в этом месте извлекать в виде массива типа

return $query->result_array();

После этого регистрируется в контроллере и получает результат в массиве.

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