BrokerUserConfig.php 1 KB
<?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 BrokerUserConfig extends Model
{
    use SoftDeletes;

    protected $table = 'broker_user_configs';

    protected $guarded = [];

    protected $hidden = ['deleted_at'];

    /**
     * @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(BrokerUserConfigItem::class, 'config_id');
    }

    /**
     * @return \Awobaz\Compoships\Database\Eloquent\Relations\HasMany
     */
    public function matchItems(): HasMany
    {
        return $this->items()->where('broker_user_config_items.status', 1);
    }
}