| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Factories\HasFactory;
- use Illuminate\Database\Eloquent\Model;
- /**
- * @property int $id
- * @property int $notification_id
- * @property int|null $user_id
- * @property int|null $unit_id
- * @property int|null $franchisee_id
- * @property bool $is_read
- * @property string|null $read_at
- * @property string $channel
- * @property bool $is_delivered
- * @property string|null $delivered_at
- * @property string|null $delivery_error
- * @property \Illuminate\Support\Carbon|null $created_at
- * @property \Illuminate\Support\Carbon|null $updated_at
- * @property string|null $deleted_at
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient newModelQuery()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient newQuery()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient query()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereChannel($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereCreatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereDeletedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereDeliveredAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereDeliveryError($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereFranchiseeId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereIsDelivered($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereIsRead($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereNotificationId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereReadAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereUnitId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereUpdatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|NotificationRecipient whereUserId($value)
- * @mixin \Eloquent
- */
- class NotificationRecipient extends Model
- {
- use HasFactory;
- protected $table = 'notification_recipients';
- protected $guarded = [
- 'id', // Add more fields that shouldn't be edited here
- ];
- protected $casts = [
- 'is_read' => 'boolean',
- 'read_at' => 'datetime',
- 'is_delivered' => 'boolean',
- 'delivered_at' => 'datetime',
- 'created_at' => 'datetime',
- 'updated_at' => 'datetime',
- ];
- // Relationships
- public function notification(): \Illuminate\Database\Eloquent\Relations\BelongsTo
- {
- return $this->belongsTo(Notification::class, 'notification_id');
- }
- public function user(): \Illuminate\Database\Eloquent\Relations\BelongsTo
- {
- return $this->belongsTo(User::class, 'user_id');
- }
- // Business Logic Methods
- // Custom Finders
- // Query Scopes
- }
|