Список выборов модели
класс ModelChoiceList расширяет ObjectChoiceList
Список выборов для выборов объектов на основе модели Propel.
Методы
| __construct(string $class, string $labelPath = null, array|Traversable $choices = null, ModelCriteria $queryObject = null, string $groupPath = null, array|ModelCriteria $preferred = array(), PropertyAccessorInterface $propertyAccessor = null, string $useAsIdentifier = null) Конструктор. | ||
| массив | getChoices() Возвращает список выборов | |
| массив | getValues() Возвращает значения для выборов | |
| массив | getPreferredViews() Возвращает представления выбранных выборов в виде вложенного массива, где ключи верхнего уровня — группы выборов. | |
| массив | getRemainingViews() Возвращает представления выборов, которые не являются предпочтительными, в виде вложенного массива, где ключи верхнего уровня — группы выборов. | |
| массив | getChoicesForValues(array $values) Возвращает выборы, соответствующие заданным значениям. | |
| массив | getValuesForChoices(array $models) Возвращает значения, соответствующие заданным выборам. | |
| массив | getIndicesForChoices(array $models) устарело Возвращает индексы, соответствующие заданным выборам. | |
| массив | getIndicesForValues(array $values) устарело Возвращает индексы, соответствующие заданным значениям. | |
| строка | getClass() Возвращает имя класса модели. |
Подробности
__construct(string $class, string $labelPath = null, array|Traversable $choices = null, ModelCriteria $queryObject = null, string $groupPath = null, array|ModelCriteria $preferred = array(), PropertyAccessorInterface $propertyAccessor = null, string $useAsIdentifier = null)
Конструктор.
Параметры
| строка | $class | FQCN класса модели для загрузки. |
| строка | $labelPath | Путь к свойству, используемому для меток выбора. Значение получается путем вызова геттера объекта. Если путь равен NULL, вместо него используется метод __toString() объекта. |
| массив|Traversable | $choices | Массив выборов. Выборы также могут быть представлены в виде иерархии неограниченной глубины. Иерархии создаются путем создания вложенных массивов. Заголовок под-иерархии может храниться в ключе массива, указывающем на вложенный массив. Верхний уровень иерархии также может быть \Traversable. |
| ModelCriteria | $queryObject | Запрос для извлечения данных модели из базы данных. |
| строка | $groupPath | Путь к свойству, используемому для группировки выборов. Допускается только если выборы заданы как плоский массив. |
| массив|ModelCriteria | $preferred | Предпочитаемые элементы этого выбора. Либо массив, если задан $choices, либо ModelCriteria для объединения с $queryObject. |
| PropertyAccessorInterface | $propertyAccessor | Граф рефлексии для чтения путей к свойствам. |
| строка | $useAsIdentifier | Пользовательский уникальный столбец (например, slug) для использования вместо первичного ключа. |
Исключения
| MissingOptionsException | В случае, если параметр $class пустой. |
| InvalidOptionsException | В случае, если класс запроса не найден. |
См. также
| \Symfony\Bridge\Propel1\Form\Type\ModelType | Как использовать предпочтительные выборы. |
массив getChoices()
Возвращает список выборов
Значение возврата
| массив | Выборы с их индексами в качестве ключей |
массив getValues()
Возвращает значения для выборов
Значение возврата
| массив | Значения с соответствующими индексами выбора в качестве ключей |
массив getPreferredViews()
Возвращает представления выбранных выборов в виде вложенного массива, где ключи верхнего уровня — группы выборов.
Пример:
Значение возврата
| массив | Вложенный массив, содержащий представления с соответствующими индексами выбора в качестве ключей на нижних уровнях и названиями групп выборов в качестве ключей на верхних уровнях |
массив getRemainingViews()
Возвращает представления выборов, которые не являются предпочтительными, в виде вложенного массива, где ключи верхнего уровня — группы выборов.
Пример:
Значение возврата
| массив | Вложенный массив, содержащий представления с соответствующими индексами выбора в качестве ключей на нижних уровнях и названиями групп выборов в качестве ключей на верхних уровнях |
массив getChoicesForValues(array $values)
Возвращает выборы, соответствующие заданным значениям.
Выборы могут иметь любой тип данных.
Выборы должны возвращаться с теми же ключами и в том же порядке, что и соответствующие значения в заданном массиве.
Параметры
| массив | $values | Массив значений выбора. Несуществующие значения в этом массиве игнорируются |
Значение возврата
| массив | Массив выборов с возрастающими, нумерованными с 0 ключами |
массив getValuesForChoices(array $models)
Возвращает значения, соответствующие заданным выборам.
Значения должны быть строками.
Значения должны возвращаться с теми же ключами и в том же порядке, что и соответствующие выборы в заданном массиве.
Параметры
| массив | $models |
Значение возврата
| массив | Массив значений выбора с возрастающими, нумерованными с 0 ключами |
массив getIndicesForChoices(array $models) устарело
устарело
Возвращает индексы, соответствующие заданным выборам.
Индексы должны быть положительными целыми числами или строками, которые принимаются {@link FormConfigBuilder::validateName()}.
Индекс "placeholder" зарезервирован внутри.
Индексы должны возвращаться с теми же ключами и в том же порядке, что и соответствующие выборы в заданном массиве.
Параметры
| массив | $models |
Значение возврата
| массив | Массив индексов с возрастающими, нумерованными с 0 ключами |
массив getIndicesForValues(array $values) устарело
устарело
Возвращает индексы, соответствующие заданным значениям.
Индексы должны быть положительными целыми числами или строками, которые принимаются {@link FormConfigBuilder::validateName()}.
Индекс "placeholder" зарезервирован внутри.
Индексы должны возвращаться с теми же ключами и в том же порядке, что и соответствующие значения в заданном массиве.
Параметры
| массив | $values | Массив значений выбора. Несуществующие значения в этом массиве игнорируются |
Значение возврата
| массив | Массив индексов с возрастающими, нумерованными с 0 ключами |
строка getClass()
Возвращает имя класса модели.
Значение возврата
| строка |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.html