Фильтры в PHP codeigniter
Я пытаюсь получить записи, используя фильтры флажков, например.
Если флажок зеленый установлен, то продукт будет отображаться только зелеными цветами.
Я каким-то образом получаю данные флажка с помощью ajax в массиве, но теперь я просто заблокирован тем, как передать его в модель, потому что данные находятся в массиве, и я должен использовать условие where. Поэтому моя проблема заключается в том, как передать этот массив в состояние where, чтобы сопоставить его со столбцами и получить соответствующую запись.
Данные массива выглядят так, как в консоли:
Консольные данные
таблица product:
таблица product
Таблица Product_attributes:
Таблица Атрибутов Продукта
Что я уже пробовал:
Мой Код Просмотра
<pre><!-- Color --> <div class="widget filter-by-color"> <h3 class="widget-title heading uppercase relative bottom-line full-grey">Color</h3> <ul class="color-select list-dividers"> <li> <input type="checkbox" class="input-checkbox" id="green-color" name="color" value="g" onchange="clr();"> <label for="green-color" class="checkbox-label">Green</label> </li> <li> <input type="checkbox" class="input-checkbox" id="red-color" name="color" value="r" onchange="clr();"> <label for="red-color" class="checkbox-label">Red</label> </li> <li> <input type="checkbox" class="input-checkbox" id="blue-color" name="color" value="bl" onchange="clr();"> <label for="blue-color" class="checkbox-label">Blue</label> </li> <li> <input type="checkbox" class="input-checkbox" id="white-color" name="color" value="w" onchange="clr();"> <label for="white-color" class="checkbox-label">White</label> </li> <li> <input type="checkbox" class="input-checkbox" id="black-color" name="color" value="b" onchange="clr();"> <label for="black-color" class="checkbox-label">Black</label> </li> </ul> </div>
Мой Js-Код
<pre>function clr(){ var selected = new Array(); var url="<?php echo base_url('Cart/filt');?>"; // alert(url); $("input:checkbox[name=color]:checked").each(function() { selected.push($(this).val()); console.log(selected); }); $.ajax({ url:url, method:"post", data:{'colors':selected}, success:function(data) { console.log(data); } }); }
Мой Код Контроллера:
<pre> function filt() { $colors=$this->input->post('colors'); echo json_encode($colors); }
Пожалуйста, Поделитесь Своей Логикой, Мыслями, Ссылками, Информацией...
Любая помощь будет высоко оценена.