/ / Ao usar uma consulta extbase, posso solicitar os resultados por um campo em um modelo vinculado? - typo3, extbase

Ao usar uma consulta extbase, posso solicitar os resultados por um campo em um modelo vinculado? - typo3, extbase

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)

(*) usando http://typo3.org/api/typo3cms/class_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_persistence_1_1_generic_1_1_query.html

Respostas:

3 para resposta № 1

Sim, é 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();