У меня есть две таблицы: таблица платежей и таблица арендаторов. В каждой таблице платежей может быть много платежей для одного арендатора (отношение один ко многим)
Payments
id tenant_id amount
1 1 5000
2 1 6000
3 2 7000
4 2 8000
tenants
id name email
1 peter peter@info.com
2 grace grace@info.com
Когда я запускаю следующее в своем контроллере
public function getPaymentsList(Request $request)
{
$payments = DB::table("payments")
->join('tenants','tenants.id','=','tenant_id')
->select('payments.id','payments.tenant_id','tenants.name','payments.rent_to')
->groupBy('tenant_id')->get()
;
return response()->json($payments);
}
}
, я получаю json самая старая запись в таблице платежей, а не последняя запись.
[
{
"id": 1,
"tenant_id": 1,
"name": "peter",
"amount": "5000"
},
{
"id": 3,
"tenant_id": 2,
"name": "grace",
"amount": "7000"
},
]
The output i want is
[
{
"id": 2,
"tenant_id": 1,
"name": "peter",
"amount": "6000"
},
{
"id": 4,
"tenant_id": 2,
"name": "grace",
"amount": "8000"
},
]
Как улучшить приведенный выше запрос, чтобы он мог отображать желаемый результат?