Mi piacerebbe ottenere valore dal seguente SQL utilizzando ORI di Eloquent.Come selezionare dalla sottoquery utilizzando Laravel Query Builder?
- SQL
SELECT COUNT(*) FROM
(SELECT * FROM abc GROUP BY col1) AS a;
Poi ho considerato quanto segue.
- Codice
$sql = Abc::from('abc AS a')->groupBy('col1')->toSql();
$num = Abc::from(\DB::raw($sql))->count();
print $num;
Sto cercando una soluzione migliore.
Per favore dimmi la soluzione più semplice.
Grazie! Non conoscevo il metodo unioneBindings. L'espressione della sottoquery per codice è complessa ... – quenty658
Ciao, ho ricevuto l'errore seguente 'L'argomento 1 passato a Illuminate \ Database \ Query \ Builder :: mergeBindings() deve essere un'istanza di Illuminate \ Database \ Query \ Builder, istanza di Illuminate \ Database \ Eloquent \ Builder dato', cosa mi sono perso? – sulaiman
@sulaiman Hai perso la parte '$ sub-> getQuery()', che ottiene l'oggetto sottostante 'Query \ Builder'. –