Как уже упоминалось, единственный способ - использовать плагин, который заменяет функциональность .
Список плагинов jQuery: http://plugins.jquery.com/tag/ select /
Взгляните на пример с помощью плагина Select2
: http://jsfiddle.net/swsLokfj/23/
Вы должны быть в состоянии использовать оператор @ORM \ OrderBy , который позволяет указывать столбцы для упорядочения коллекций:
/**
* @ORM\OneToMany(targetEntity="BizTV\ContentManagementBundle\Entity\Content", mappedBy="container")
* @ORM\OrderBy({"sort_order" = "ASC"})
*/
private $content;
Фактически это может быть дубликат Как оформить заказ на OneToMany / ManyToOne
Похоже, что при проверке рекомендаций по реализации вы должны получить таблицы с запросом на присоединение к коллекции для @ORM \ OrderBy аннотации для работы: http://www.krueckeberg.org/notes/d2.html
Это означает, что вы должны написать метод в хранилище, чтобы вернуть контейнер с таблица содержания присоединилась.
Если вы хотите быть уверены, что ваши отношения всегда отображаются в порядке, основанном на текущих значениях свойств, вы можете сделать что-то вроде этого:
$sort = new Criteria(null, ['Order' => Criteria::ASC]);
return $this->yourCollectionProperty->matching($sort);
Используйте это, например, если вы изменили Заказать недвижимость. Прекрасно работает и для «последнего изменения даты».
Вы можете написать
@ORM\OrderBy({"date" = "ASC", "time" = "ASC"})
для нескольких критериев заказа.
Вы также можете отсортировать ArrayCollection
по Criteria
свойству orderBy
следующим образом:
<?php
namespace App/Service;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Criteria;
/**
* Class SortService
*
* @package App\Service
*/
class SortService {
/**
* @param SomeAbstractObject $object
* @return SomeCollectionItem[]
*/
public function sorted(SomeAbstractObject $object): array {
/** $var ArrayCollection|SomeCollectionItem[] */
$collection = $object->getCollection();
// convert normal array to array collection object
if(\is_array(collection)) {
$collection = new ArrayCollection(collection);
}
// order collection items by position property
$orderBy = (Criteria::create())->orderBy([
'position' => Criteria::ASC,
]);
// return sorter SomeCollectionItem array
return $collection->matching($orderBy)->toArray();
}
}
?>