PNG IHDR x sBIT|d pHYs + tEXtSoftware www.inkscape.org< ,tEXtComment
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Notification extends Model
{
use HasFactory;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'user_id',
'admin_id',
'title',
'message',
'type', // 'deposit', 'withdrawal', 'plan_purchase', 'bot_purchase', 'profit', 'admin_message', 'login'
'is_read',
'source_id', // ID related to the transaction, plan, bot, etc.
'source_type' // Model class related to the transaction
];
/**
* The attributes that should be cast.
*
* @var array
*/
protected $casts = [
'is_read' => 'boolean',
'created_at' => 'datetime',
'updated_at' => 'datetime',
];
/**
* Get the user that owns the notification.
*/
public function user()
{
return $this->belongsTo(User::class);
}
/**
* Get the admin that owns the notification.
*/
public function admin()
{
return $this->belongsTo(Admin::class);
}
/**
* Get the polymorphic relation.
*/
public function source()
{
return $this->morphTo();
}
/**
* Scope a query to only include unread notifications.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeUnread($query)
{
return $query->where('is_read', false);
}
/**
* Scope a query to filter by user
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param int $userId
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeForUser($query, $userId)
{
return $query->where('user_id', $userId);
}
/**
* Scope a query to filter by admin
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param int $adminId
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeForAdmin($query, $adminId)
{
return $query->where('admin_id', $adminId);
}
}
b IDATxytVսϓ22 A@IR:hCiZ[v*E:WũZA ^dQeQ @ !jZ'>gsV仿$|?g)&x-E