Estou consultando um Model *, que possui um campo que se refere a outro Model. É possível solicitar os resultados usando um campo no modelo vinculado?
Então, por exemplo:
Carro contém um campo que se refere ao seu OWner. Eu quero mostrar todos os carros classificados pelo seu dono.
(Eu não quero usar o método statement () desde que nesse caso eu teria que escrever a consulta toda eu)
Respostas:
3 para resposta № 1Sim, é possível (não se importe com o $constraint
para o momento):
$query->matching($constraint)->setOrderings(
array("owner.sorting" => Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING)
)->execute();
Assumindo o campo em você Car
modelo é nomeado owner
e você quer classificar por sorting
campo do Owner
modelo / tabela.
1 para resposta № 2
Ao trabalhar com 6,2
-> setOrderings (Array ("model.yourfield" => TYPO3CMSExtbasePersistenceQueryInterface :: ORDER_ASCENDING))
0 para resposta № 3
@Michael e @ rob-ot estão certos. Há uma armadilha que me levou muitas horas e que eu gostaria de mencionar aqui:
Se o seu campo de classificação na tabela relacionada contiver sublinhados, você tem que fornecer seu nome para setSortOrderings em lowerCamelCase:
// with database column name my_car_sorting you must define:
$query->matching($constraint)->setOrderings(
array("owner.myCarSorting" => TYPO3CMSExtbasePersistenceQueryInterface::ORDER_ASCENDING)
)->execute();