Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

edinz's avatar
Level 1

Display one id for multiple date

How to display one id for multiple date.Currently it display multiple id for multiple date.How to fix it?

Here my interface: https://imgur.com/a/lWIbLVX

Here my db: https://imgur.com/a/SYycCGU

Here my controller:

class TestController extends Controller
{
    public function test()
    {
     //$resp=[];
      $driver = DB::table('users')
      ->join('order_schedules','users.id','=','order_schedules.driver_id')
      ->select('driver_id','name','date_time')
      ->orderby('date_time','asc')
          ->get();

     return view('table',compact('driver'));
    }
} 
0 likes
11 replies
edinz's avatar
Level 1

Display error when i put groupBy('name') Error: "SQLSTATE[42000]: Syntax error or access violation: 1055 'omer654_logistics.order_schedules.driver_id' isn't in GROUP BY (SQL: select driver_id, name, date_time from users inner join order_schedules on users.id = order_schedules.driver_id group by name order by date_time asc)

munazzil's avatar

@edinz

Use pluck instead of select.

 $driver = DB::table('users')
->join('order_schedules','users.id','=','order_schedules.driver_id')
->pluck('driver_id','name','date_time')//here changes
->groupBy('name')
->orderby('date_time','asc')
->get();
edinz's avatar
Level 1

I'm changes select with pluck but another error display.

"Method Illuminate\Support\Collection::orderBy does not exist."

munazzil's avatar

@edinz

Now have a look in below code.

$driver = DB::table('users')
->join('order_schedules','users.id','=','order_schedules.driver_id')
->pluck('driver_id','name','date_time')
->groupBy('name')
->sortByDesc('date_time','asc')//here changes
->get();
edinz's avatar
Level 1

Still display error: "arsort() expects parameter 2 to be integer, string given"

munazzil's avatar

@edinz

Use as like below

$driver = DB::table('users')
->join('order_schedules','users.id','=','order_schedules.driver_id')
->pluck('driver_id','name','date_time')
->groupBy('name')
->sortByDesc (new('date_time'),'asc')//here changes
->get();
edinz's avatar
Level 1

Still error:"syntax error, unexpected '('"

munazzil's avatar

@edinz

Use as like below.

$driver = DB::table('users')
->join('order_schedules','users.id','=','order_schedules.driver_id')
->pluck('driver_id','name','date_time')
->groupBy('name')
->get();
edinz's avatar
Level 1

error:"Too few arguments to function Illuminate\Support\Collection::get()

Please or to participate in this conversation.