'datetime', ]; public function account() { return $this->hasOneDeep(StatementAccount::class, [AccountStatement::class], ['id', 'id'], ['account_statement_id', 'statement_account_id']); } public function statement() { return $this->belongsTo(AccountStatement::class, 'account_statement_id', 'id'); } public function owners() { return $this->hasMany(StatementTransactionOwner::class); } public function owner_status() { return $this->owners()->whereIn('status',[ApprovalStatus::APPROVED,ApprovalStatus::COMPLETED,ApprovalStatus::PENDING_VERIFICATION]); } public function scopeDoesntMapStatement($query) { $query->whereHas('account', function($query) { $query->where('statement_accounts.number', 568603010762); })->whereDoesntHave('owners', function($query){ return $query->whereIn('status', [ApprovalStatus::PENDING_VERIFICATION, ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]); })->orderBy('posting_date'); } }