whereraw wherehas php laravel fluent laravel-3

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''));