Paris ORM, has_many_through с ограничениями

Как лучше всего подойти к этому в парижском ORM?

У меня есть набор категорий и набор профилей поставщиков, которые имеют столбец с именем reatured. В настоящее время мой класс выглядит следующим образом:

<?php

namespace {

/**
* Class Category
*/
class Category extends ConfettiModel
{
public static $_table = 'supplier_directory_category';

/**
* Returns only top level categories - they have no parent
*
* @return bool
*/
public static function topLevel()
{
return self::where('parent', 0);
}

public static function marketing()
{
return self::where('marketing', 'Yes');
}

public function getTable() {
return self::$_table;
}

/**
* Is this a top level category - has no parent
*
* @return bool
*/
public function isTopLevel()
{
return ($this->parentId == 0);
}

/**
* Associated DirectoryProfile's
*
* @return ORMWrapper
*/
public function profiles()
{
return $this->has_many_through('DirectoryProfile', 'CategoryDirectoryProfile', 'category', 'supplier');
}
}

Я хотел бы добавить новую функцию, featuredProfiles() что позволяет мне получить те же результаты, что и profiles(), но в этом случае я хочу ограничить это поставщиками с featured = 'Yes',

Я не совсем уверен, как это сделать.

0

Решение

Я взял трубку, и ответ оказался проще, чем я ожидал:

public function featuredProfiles() {
return $this->profiles()->where('featured', 'Yes');
}

Куда добавляется как часть запроса к объединенной таблице.

0

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

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

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