Codeigniter дБ вроде не работает в массиве
Я хочу добавить больше столбцов для поиска в моей базе данных, это мой оригинальный скрипт.
public function getProductsByName($name, $limit, $start) {
$this->db->limit($limit, $start);
$this->db->order_by("id", "desc");
$this->db->like("name", $name);
$query = $this->db->get('products');
if ($query->num_rows() > 0) {
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}
Это мой модифицированный скрипт, который можно найти в 3 столбцах.
public function getProductsByName($name, $limit, $start) {
$this->db->limit($limit, $start);
$this->db->order_by("id", "desc");
$array = array('name' => $name, 'code' => $code, 'ean' => $ean);
$this->db->like($array);
$query = $this->db->get('products');
if ($query->num_rows() > 0) {
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}
Что здесь не так?
Любая помощь приветствуется.
1 ответ
Для выбора данных, как вы говорите, вам нужно точно указать переменную, которую вы используете $code and $ean
, другое дело data[]
Вы созданы, нет необходимости создавать такой массив. вы получите то же самое, когда позвоните $query->result();
public function getProductsByName($name, $limit, $start,$code,$ean) {
$this->db->limit($limit, $start);
$this->db->order_by("id", "desc");
$array = array('name' => $name, 'code' => $code, 'ean' => $ean);
$this->db->like($array);
$query = $this->db->get('products');
if ($query->num_rows() > 0) {
return $query->result();
}
return false;
}
надеюсь, это поможет вам