Как мне присоединиться и выбрать отношение «многие ко многим»?Php

Кемеровские программисты php общаются здесь
Anonymous
Как мне присоединиться и выбрать отношение «многие ко многим»?

Сообщение Anonymous »

У меня есть таблицы Properties и Features со связью «многие ко многим» PropertiesFeatures (которая содержит их идентификаторы):
Изображение

Когда я выбираю несколько функций (идентификаторы функций) в виде массива, мне нужны все свойства, которые имеют эти функции (свойство) 55 содержит объекты с ID=105 и 115, свойство 58 содержит объекты с ID=105 и 114).

Код: Выделить всё

$features = $this->custom_search['feature']; // $features = ['105', '114']
$features = array_map('intval', $features); // $features = [105, 114]

$query->select('c.id')->from('Properties', 'c');
$query->leftJoin('c', 'PropertiesFeatures', 'f', 'f.property_id = c.id');
$query->andWhere('f.feature_id IN (?)')->setParameter($paramcount++, $features, Connection::PARAM_INT_ARRAY);
Но он выводит все элементы (свойство 55 и свойство 58, которые имеют ID функции = 105 или 114). Мне нужны только те свойства, все идентификаторы которых есть в массиве $features. Он должен отображать только свойство 58.
Что мне нужно изменить в запросе?

Подробнее здесь: https://stackoverflow.com/questions/797 ... y-relation

Вернуться в «Php»