BrokerPushLevelRecord.php 1021 Bytes
<?php

namespace App\Models;

use App\Support\Model;
use Awobaz\Compoships\Database\Eloquent\Relations\BelongsTo;
use Awobaz\Compoships\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;

class BrokerPushLevelRecord extends Model
{
    use SoftDeletes;

    protected $table = 'broker_push_level_records';

    protected $hidden = ['deleted_at'];

    protected $guarded = [];

    /**
     * @return \Awobaz\Compoships\Database\Eloquent\Relations\BelongsTo
     */
    public function user(): BelongsTo
    {
        return $this->belongsTo(User::class)->withTrashed();
    }

    /**
     * @return \Awobaz\Compoships\Database\Eloquent\Relations\HasMany
     */
    public function items(): HasMany
    {
        return $this->hasMany(BrokerPushLevelRecordItem::class, 'record_id');
    }

    /**
     * @return \Awobaz\Compoships\Database\Eloquent\Relations\HasMany
     */
    public function readItems(): HasMany
    {
        return $this->items()->whereNotNull('read_at');
    }
}