как совместить где условие и предел в CodeIgniter

0

Я новичок в CI. На самом деле я хочу получать данные из моей таблицы продуктов. с несколькими условиями, то есть с указанными параметрами menu_ids, но ограничение должно быть равным 1 для всех средств, которые я хочу получить по одному продукту из каждого menu_id. Ниже моя модель, это может быть неправильно. Пожалуйста помоги.

My Model    

public function home_products(){
            $this->db->select('*');
            $this->db->from('product');
            $this->db->where('menu_id', 51, 52, 53, 54, 55, 56);
            $this->db->where('product_status', 0);
            $this->db->limit('1');
            $query = $this->db->get();
            return $query->result();
        }
  • 0
    Я думаю, что вы должны удалить $this->db->limit('1'); и попробуйте сделать как указано @Akash.
  • 0
    Я пробовал это, но теперь он показывает все продукты, связанные с их соответствующими menu_ids
Показать ещё 3 комментария
Теги:
codeigniter

3 ответа

0

Добавить $this->db->group_by('menu_id'); а также

изменение

$this->db->where('menu_id', 51, 52, 53, 54, 55, 56);

в

$this->db->where_in('menu_id', array(51, 52, 53, 54, 55, 56)); ,

Окончательный код выглядит следующим образом:

public function home_products(){
    $this->db->select('*');
    $this->db->from('product');
    $this->db->where_in('menu_id', array(51, 52, 53, 54, 55, 56));
    $this->db->where('product_status', 0);
    $this->db->group_by('menu_id');
    $this->db->limit('6');
    $query = $this->db->get();
    return $query->result();
}
0

Попробуй:-

    $this->db->select('*');
    $this->db->where_in('menu_id', array(51, 52, 53, 54, 55, 56));
    $this->db->where('product_status', 0);
    $this->db->limit(1);

    $query = $this->db->get('product');         
    return $query->result();

Дополнительную информацию см. В официальном документе CI.

  • 0
    Спасибо, но это не сработало ..
  • 0
    какую ошибку ты получаешь?
Показать ещё 1 комментарий
0

используйте $this-> db-> где_in ('menu_id', массив (51, 52, 53, 54, 55, 56)); на месте $this-> db-> где ('menu_id', 51, 52, 53, 54, 55, 56);

  • 0
    это не работает друг ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню