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

namespace App\Models;

use App\Repositories\AbstractsRepository;
use App\Traits\HasFiles;
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\HasMany;
use Illuminate\Support\Facades\DB;

/**
 * @property mixed $id
 * @property mixed $data
 * @property int|mixed $step
 * @property mixed|string $submission_status
 * @property string $selection_status
 * @property false|mixed $edit_request
 * @property mixed $user_id
 * @property mixed $presentation_type
 * @property mixed $no_of_votes
 */
class Abstracts extends Model
{
    use HasFactory, HasFiles;

    const FILE_SAVE_PATH = 'private/media/abstracts/';
    const FILE_PUBLIC_PATH = null;
    const PRIVATE_FILE_SAVE_PATH = 'private/media/abstracts/';

    protected $fillable = [
        'data',
        'user_id',
        'event_id',
        'step',
        'submission_status',
        'submission_date',
        'selection_status',
        'edit_request',
        'rank',
        'score',
        'no_of_votes',
        'presentation_invite',
        'presentation_type',
        'submission_flag',
        'submitter_presenters_count'
    ];

    protected $casts = [
        'data' => AsArrayObject::class,
        'edit_track' => AsArrayObject::class,
        'last_edited_data' => AsArrayObject::class,
        'created_at' => 'date:Y-m-d H:i:s',
        'updated_at' => 'date:Y-m-d H:i:s'
    ];

    //===========================================//
    //relations

    public function users($role = null)
    {
        $query = $this->belongsToMany(User::class, 'abstract_user')
            ->using(AbstractUser::class)
            ->withPivot(['id'])
            ->withTimestamps();
        $query
            ->join('model_has_roles as mhs', 'mhs.model_id', '=', 'abstract_user.id')
            ->where('mhs.model_type', '=', AbstractUser::class)
            ->join('roles as r', 'r.id', '=', 'mhs.role_id')
            ->groupBy('users.id')
            ->addSelect([
                'users.*',
                DB::raw("GROUP_CONCAT(r.name) as abstract_roles")
            ]);
        if ($role) {
            $query->where('r.name', '=', $role);
        }
        return $query;
    }

    public function scores(): HasMany
    {
        return $this->hasMany(Score::class, 'abstract_id');
    }

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

    // End of relations
    //===========================================//

    public function useRepository($event = null): AbstractsRepository
    {
        return new AbstractsRepository($event);
    }
}

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).