PHP 7.4.33
Preview: Slot.php Size: 2.21 KB
/var/www/multi-event-cfp.bitkit.dk/httpdocs/app/Models/Slot.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Casts\AsArrayObject;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;

/**
 * @property mixed $event_id
 * @property mixed $id
 */
class Slot extends Model
{
    use HasFactory;

    protected $fillable = [
        'event_id',
        'presentation_id',
        'abstract_id',
        'session_id',
        'start_date',
        'end_date',
        'duration',
        'title',
        'type',
        'order',
        'reserved',
        'exclude_from_website',
        'break_slot',
        'featured_by',
        'sponsored_by'
    ];

    protected $casts = [
        'start_date' => 'date:Y-m-d H:i:s',
        'end_date' => 'date:Y-m-d H:i:s',
        'created_at' => 'date:Y-m-d H:i:s',
        'updated_at' => 'date:Y-m-d H:i:s',
        'slot_users' => AsArrayObject::class,
        'abstract_presentation_track' => AsArrayObject::class,
        'break_slot' => 'boolean',
        'featured_by' => 'boolean',
        'sponsored_by' => 'boolean'
    ];

    //===========================================//
    //relations
    public function event(): BelongsTo
    {
        return $this->belongsTo(Event::class);
    }

    public function presentation(): BelongsTo
    {
        return $this->belongsTo(Presentation::class);
    }

    public function abstract(): BelongsTo
    {
        return $this->belongsTo(Abstracts::class, 'abstract_id');
    }

    public function session(): BelongsTo
    {
        return $this->belongsTo(Session::class);
    }

    public function users($role = null): BelongsToMany
    {
        $query = $this->belongsToMany(User::class, 'slot_users')
            ->using(SlotUser::class)
            ->withPivot(['id', 'role', 'is_moderator', 'order'])
            ->withTimestamps()
            ->orderBy('slot_users.order', 'asc');

        if ($role)
            $query->where('slot_users.role', '=', $role);

        return $query;
    }
    public function slotUser(): BelongsTo
    {
        return $this->belongsTo(SlotUser::class);
    }
}

Directory Contents

Dirs: 0 × Files: 26
Name Size Perms Modified Actions
2.71 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
386 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
784 B lrw-rw-r-- 2025-04-21 06:11:52
Edit Download
737 B lrw-rw-r-- 2024-02-22 08:11:18
Edit Download
944 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
2.66 KB lrw-rw-r-- 2025-12-10 09:24:27
Edit Download
3.99 KB lrw-rw-r-- 2025-07-30 10:06:01
Edit Download
2.36 KB lrw-rw-r-- 2026-04-07 05:00:19
Edit Download
1.66 KB lrw-rw-r-- 2024-10-23 04:50:49
Edit Download
496 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
4.01 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
881 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
1.13 KB lrw-r--r-- 2024-02-09 12:37:30
Edit Download
909 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
941 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
1.03 KB lrw-r--r-- 2025-07-28 09:14:47
Edit Download
835 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
889 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
2.78 KB lrw-rw-r-- 2026-04-22 04:31:30
Edit Download
945 B lrw-rw-r-- 2024-09-20 05:02:14
Edit Download
2.21 KB lrw-rw-r-- 2024-09-20 05:02:14
Edit Download
972 B lrw-rw-r-- 2024-09-20 05:02:14
Edit Download
893 B lrw-rw-r-- 2026-03-31 07:15:50
Edit Download
659 B lrw-r--r-- 2024-02-09 12:37:30
Edit Download
10.40 KB lrw-rw-r-- 2026-04-30 09:24:18
Edit Download
574 B lrw-rw-r-- 2024-12-03 04:36:57
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).