This commit is contained in:
philipp lang 2022-01-02 11:42:32 +01:00
parent 18e1a052c1
commit 2920c57e69
2 changed files with 16 additions and 8 deletions

View File

@ -5,8 +5,10 @@ namespace App\Payment;
use App\Member\Member;
use App\Payment\Status;
use App\Payment\Subscription;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class Payment extends Model
{
@ -14,31 +16,37 @@ class Payment extends Model
public $fillable = ['member_id', 'subscription_id', 'nr', 'status_id', 'last_remembered_at'];
public function member() {
public function member(): BelongsTo
{
return $this->belongsTo(Member::class);
}
public function subscription() {
public function subscription(): BelongsTo
{
return $this->belongsTo(Subscription::class);
}
public function status() {
public function status(): BelongsTo
{
return $this->belongsTo(Status::class);
}
public function scopeWhereNeedsPayment($q) {
public function scopeWhereNeedsPayment(Builder $q): Builder
{
return $q->whereHas('status', function($q) {
return $q->needsPayment();
});
}
public function scopeWhereNeedsBill($q) {
public function scopeWhereNeedsBill(Builder $q): Builder
{
return $q->whereHas('status', function($q) {
return $q->where('is_bill', true);
});
}
public function scopeWhereNeedsRemember($q) {
public function scopeWhereNeedsRemember(Builder $q): Builder
{
return $q->whereHas('status', function($q) {
return $q->where('is_remember', true);
})->where(fn ($query) => $query->whereNull('last_remembered_at')->orWhere('last_remembered_at', '<=', now()->subMonths(6)));

View File

@ -39,9 +39,9 @@ class PdfGenerator implements Responsable
public function compileView(): string
{
return (string) view()->make($this->repo->getView(), [
return view()->make($this->repo->getView(), [
'data' => $this->repo,
]);
])->render();
}
public function toResponse($request)