私のDoctrineリポジトリの結果があらかじめ定義されている必要があります。私はこのように私の配列をfindBy
方法を使用して渡しています:定義済みの配列基準の結果を返すようDoctrineに設定します。
$this->myReposirtory->findBy(['value1', 'value2', 'value3']);
問題はDoctrineは自動的にid
によって返される結果を注文することを今です。私が必要とするのは、配列入力の正確な順序です。だから、
/**
* Finds entities by a set of criteria.
*
* @param array $criteria
* @param array|null $orderBy
* @param int|null $limit
* @param int|null $offset
*
* @return array The objects.
*/
public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
{
$persister = $this->_em->getUnitOfWork()->getEntityPersister($this->_entityName);
return $persister->loadAll($criteria, $orderBy, $limit, $offset);
}
、第2引数は、ORDER BYのためである:
"またはあなたのコードでハイドレート処理の後に注文することができます。残念ながら、私はこれで終わります:( – Julian
テーブル構造を変更できる場合は、 'custom_order_x'フィールドを追加し、値を手動で入力するか、カスタム条件を使用することをお勧めします。 –