Search code examples
laraveldistinct

skip duplicate data from database in laravel


I just want to skip duplicate data from database,My foreign key is repeating so I just want to skip duplicate entry and get latest only My controller is like that

$old=DB::table('tabl-1')
    ->leftJoin('tbl-2','tabl1.id','=','tabl2.tabl1_id')
    ->whereDate('created_at','<' ,Carbon::today())
    ->select('tbl1.name as name','tbl1.class as class','tabl2.table1_id')
    ->distinct('tabl2.table1_id')
    ->get()
    ->toArray();

Solution

  • DB::table('first')->leftJoin('second', 'first.id', '=', 'second.first_id')
    ->whereDate('first.created_at', '<', Carbon::today())
    ->select('first.name as name', 'first.class as class', 'second.first_id')
    ->groupBy('second.first_id')->get()->toArray();
    

    Try groupBy, since distinct() has no argument in there