У меня есть объект, который расширяет страницу («Thing»), которая имеет многозначные отношения с DataObject («тег»).Silverstripe - фильтр DataObject список по многим отношениям
class Thing extends Page
{
static $many_many = array(
'Tags' => 'Tag'
);
}
class Tag extends DataObject
{
static $belongs_many_many = array(
'Things' => 'Thing'
);
}
У меня есть массив идентификаторов тегов, и я хочу получить список вещей, в которых есть все эти теги.
Следующая должно быть возможно ...
$tag_ids = array(1,2,3,4);
$things = Thing::get();
$things->filter('Tags.ID', array($tag_ids));
... но это просто возвращает нефильтрованное список. По-видимому, это еще не реализовано для отношений. Итак, как я могу это сделать?
Хммм ... на вторых мыслях, что это не совсем так. Это соответствует тем, которые имеют любой из выбранных тегов, а не все теги. –
, возможно, стоит изменить вопрос тогда, поскольку не ясно, что все теги должны быть прикреплены к «предмету» – jfbarrois
Да, мое плохое. Спасибо, в любом случае! –