mysql — оператор ИЛИ в переполнении стека NOTORM

Две таблицы определены ниже:

----------   types -----------
id      type
1        A
2        B
3        C

----------  subtypes ----------
id   type_id    sub_type
1     1      sub_type1
2     2      sub_type1
3     3      sub_type2
4     1      sub_type3
5     2      sub_type2

Мой PHP НОРМАТИВНЫЙ код такой:

 $query = $db->types();
$subTypeFilters = ['sub_type1','sub_type3'];

function filteredQuery($subTypeFilters , $query){
global $db;
$subTypeQuery ;
for($i = 0 ; $i < count($subTypeFilters); $i++){

// if($i>0)
//    $subTypeQuery .= ' OR ' ;
$subTypeQuery = $query('id' , $db->sub_type()->where('sub_type', $subTypeFilters[$i])->select('type_id'));
}

echo   ($subTypeQuery);
return $subTypeQuery;
}

$query = filteredQuery($subTypeFilters , $query);

Я получаю $ subTypeQuery как select * from types where (id in (1,2)) AND (id in (1)) так что в итоге я получаю только один тип с id = 1, как я могу поместить оператор OR между ними, чтобы получить все типы, которые имеют подтипы, заданные в массиве.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]