sql >> Database >  >> RDS >> Mysql

Hoe orderby te gebruiken op een element dat is samengevoegd met de Laravel Eloquent-methode WITH

Dit gebeurt omdat de relatiesTo-relatie geen join uitvoert query zoals u verwacht (zoals u kunt zien aan de foutmelding die u krijgt). Het voert nog een query uit om het/de gerelateerde model(len) te krijgen. Als zodanig kunt u het originele model niet bestellen op kolommen met gerelateerde modellen.

In principe gebeuren er 2 zoekopdrachten:

  1. Haal het originele model op met SELECT * from originalModel ...*

  2. Haal de gerelateerde modellen op met SELECT * from relatedModel where in id (originalModelForeignKeys)

Dan doet Laravel wat magie en koppelt de modellen van de 2e zoekopdracht aan de juiste modellen van de eerste zoekopdracht.

U moet een daadwerkelijke join uitvoeren om te kunnen bestellen zoals u dat wilt.




  1. Snelste manier om 134675-waarden in externe database in te voegen

  2. PHP MySQL INSERT mislukt vanwege unieke beperking

  3. Hoe de nieuwste MySQL 8 op Debian 10 te installeren

  4. Interval converteren naar minuten