php - wherehas - pluck laravel
Usar Distintivo en Laravel Fluido (1)
Tengo esta unión:
Return DB::table(''volunteer'')
->join(''volunteer_volunteer_category'', ''volunteer_volunteer_category.volunteer_id'', ''='', ''volunteer.id'')
->select(array(''*'',''volunteer.id AS link_id''))
->where(''is_published'', ''='', 1)
Pero, como era de esperar, devuelve registros duplicados, así que trato de usar distinct()
:
Return DB::table(''volunteer'')
->join(''volunteer_volunteer_category'', ''volunteer_volunteer_category.volunteer_id'', ''='', ''volunteer.id'')
->select(array(''*'',''volunteer.id AS link_id''))
->distinct()
->where(''is_published'', ''='', 1)
pero quiero usar distinct()
en un solo campo específico que fácilmente podría hacer en SQL. Parece distinct()
no toma parámetros, es decir, no puedo decir distinct(''volunteer.id'')
.
¿Alguien puede indicarme cómo puedo eliminar mis registros duplicados? Apuesto a que este es otro golpe de frente para mí.
En mi proyecto intenté distinct()
y groupby()
también y ambos funcionaron:
//Distinct version.
Company_Customer_Product::where(''Company_id'', ''='', $companyid)->distinct()->get(array(''Customer_id''));
//Goup by version.
Company_Customer_Product::where(''Company_id'', ''='', $companyid)->groupby(''Customer_id'')->get(array(''Customer_id''));
De acuerdo con esto, distinct()
debería funcionar en tu caso, solo úsala con get()
:
Return DB::table(''volunteer'')
->join(''volunteer_volunteer_category'', ''volunteer_volunteer_category.volunteer_id'', ''='', ''volunteer.id'')
->select(array(''*'',''volunteer.id AS link_id''))
->distinct()
->where(''is_published'', ''='', 1)
->get(array(''volunteer.id''));
De lo contrario, no necesita distinct()
cuando usa groupby()
para poder usar:
Return DB::table(''volunteer'')
->join(''volunteer_volunteer_category'', ''volunteer_volunteer_category.volunteer_id'', ''='', ''volunteer.id'')
->select(array(''*'',''volunteer.id AS link_id''))
->group_by(''volunteer.id'')
->where(''is_published'', ''='', 1)
->get(array(''volunteer.id''));