So muss ich das letzte Beitragsdatum für einen Benutzer abrufen. Es gibt ein Beitragsmodell, das zu einem Bericht gehört, der eine receipt_date
hat, die ich betrachten muss, um dies zu bestimmen.Laravel 5.2 Eloquent - Holen Sie sich nur ein Modell pro Benutzer nach maximalem Datum
Beitrag:
class Contribution extends Base
{
// Belongs To -----
public function report()
{
return $this->belongsTo('App\Models\Remittance\Report', 'report_number_id');
}
}
Bericht:
class Report extends Base
{
// Has Many -----
public function contributions() {
return $this->hasMany('App\Models\Remittance\Contribution', 'report_number_id');
}
}
Dies ist, was ich zu tun versuche:
(new App\Models\Remittance\Contribution)->select(['vip_id', 'report_number_id']) ->with(['report' => function($query) { $query->select(DB::raw('max(receipt_date)')); }]) ->whereIn('vip_id', $vipIds)->groupBy('vip_id')->get();
So, hier ist die Idee, dass ich einen Beitrag wollen Diesem Bericht ist ein Bericht mit dem letzten Empfangsdatum beigefügt. Allerdings bekomme ich pro Benutzer einen Beitrag, aber die Berichtsbeziehung ist für alle null.
Was mache ich falsch?
, welcher Teil der Abfrage specfically? –
Sollte in der Lage sein, es zu verwenden, nach der groupBy aber vor dem get() – MatthewB