Динамический фильтр, склейка запроса из $_GET

anonymous20

Новичок
Имеется массив, который я получаю с ссылки вида site.com/?cpu=1,2&brand=2,3&ram=2,3 методом $_GET

Код:
    array(3) {
      ["cpu"]=>
      string(3) "1,2"
      ["brand"]=>
      string(3) "2,3"
      ["ram"]=>
      string(3) "2,3"
    }
Как мне из данного массива склеить запрос следующего содержания?
P.S Возможно имею неправильное видение составления запроса, если где то ошибся логикой запроса просьба поправить.

Код:
    SELECT * FROM table
    WHERE slug = cpu AND name = 1 OR slug = cpu AND name = 2
    WHERE slug = brand AND name = 2 OR slug = brand AND name = 3
    WHERE slug = ram AND name = 2 OR slug = ram AND name = 3
Пытался как-то сделать вот так, но видимо имею неправильное представление о реализации.

Код:
foreach($request->all() as $name => $value) {
                $valuesArray = explode(',', $value);
                foreach($valuesArray as $row) {
                    $sql[] = 'WHERE ' . $name . '=' . $row;
                }
            }
P.S Делаю динамический фильтр, который выдает найденные позиции запрос у которого генерируется через $_GET
 
Последнее редактирование:

Andkorol

Новичок
Чем чаще будешь менять свои «хотелки» и примеры запросов, которые «должны» в итоге получиться – тем меньше шансов на успех.
Ключевое слово WHERE в запросе используется только один раз.
Логически связанные компоненты условия WHERE группируются при помощи скобок.
 
Сверху