sql >> Database teknologi >  >> RDS >> Mysql

Doktrine2:Kan ikke vælge entitet gennem identifikationsvariabler uden at vælge mindst én rodentitetsalias

Dit problem er, at du forsøger at vælge et felt fra kategorienheden, mens du samtidig vælger hele objektet for den sammenføjede kategorienhed. I modsætning til almindelig SQL kan du med QueryBuilder-komponenten ikke kun vælge en enhed fra den tabel, du tilslutter dig.

Hvis du ønsker at returnere dit hovedkategoriobjekt med de sammenføjede børn, kan du enten gøre ->select(array('c', 'cc')) , eller blot udelad ->select() ringe helt. Førstnævnte vil automatisk vælge de børn, du har brug for, i en enkelt forespørgsel. Sidstnævnte vil kræve en anden SQL-forespørgsel, hvis du vil have adgang til børn i hovedkategorienheden.

Hvis der er en grund til at du ønsker name for at vælge som title i dit objekt kan du altid tilføje en anden funktion til din enhed, som er et alias til at hente navnet i stedet for at skulle skrive det i din forespørgsel:

function getTitle()
{
    return $this->getName();
}


  1. PHP mySQL - Hvornår er det bedste tidspunkt at afbryde forbindelsen til databasen?

  2. Hvad er forskellen mellem RANK og DENSE_RANK i SQL?

  3. Brug tekstoutput fra en funktion som ny forespørgsel

  4. SQL Server En udløser til at arbejde på indsættelse af flere rækker