I want to query the latest + distinct name.
I got the distinct part to work, but they're not the latest. I'm not sure how to do that in Laravel.
I’ve tried
$localDevices = Device::orderBy('created_at', 'desc')->groupBy('mac')->get();
$localDeviceName = [];
$i = 0;
foreach ($localDevices as $localDevice) {
foreach ($devices as $device) {
if($localDevice->mac == $device->device_mac ){
$localDeviceName[$i]['name'] = $localDevice->name;
$localDeviceName[$i]['mac'] = $device->device_mac;
$i++;
}
}
}
Database
I got
array:1 [▼
0 => array:3 [▼
"name" => "Apple Watch"
"img" => "/images/photos/devices/apple-watch.jpg"
"mac" => "080027E2FC7D"
]
]
I want it to show ps4 because it is the latest.
Try #2
I tried update my
orderBy('created_at', 'desc')
to orderBy('created_at', 'asc')
I got the same result.
Try #3
I tried placing orderBy
after groupBy
Device::groupBy('mac')->orderBy('created_at', 'desc')->get();
I got the same result.
What can I try next?