diff options
Diffstat (limited to 'src/Models/Shifts')
-rw-r--r-- | src/Models/Shifts/Schedule.php | 31 | ||||
-rw-r--r-- | src/Models/Shifts/ScheduleShift.php | 38 |
2 files changed, 69 insertions, 0 deletions
diff --git a/src/Models/Shifts/Schedule.php b/src/Models/Shifts/Schedule.php new file mode 100644 index 00000000..c1eb2d9e --- /dev/null +++ b/src/Models/Shifts/Schedule.php @@ -0,0 +1,31 @@ +<?php + +namespace Engelsystem\Models\Shifts; + +use Engelsystem\Models\BaseModel; +use Illuminate\Database\Eloquent\Collection; +use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Query\Builder as QueryBuilder; + +/** + * @property int $id + * @property string $url + * + * @property-read QueryBuilder|Collection|ScheduleShift[] $scheduleShifts + * + * @method static QueryBuilder|Schedule[] whereId($value) + * @method static QueryBuilder|Schedule[] whereUrl($value) + */ +class Schedule extends BaseModel +{ + /** @var array Values that are mass assignable */ + protected $fillable = ['url']; + + /** + * @return HasMany + */ + public function scheduleShifts() + { + return $this->hasMany(ScheduleShift::class); + } +} diff --git a/src/Models/Shifts/ScheduleShift.php b/src/Models/Shifts/ScheduleShift.php new file mode 100644 index 00000000..368c60b1 --- /dev/null +++ b/src/Models/Shifts/ScheduleShift.php @@ -0,0 +1,38 @@ +<?php + +namespace Engelsystem\Models\Shifts; + +use Engelsystem\Models\BaseModel; +use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Query\Builder as QueryBuilder; + +/** + * @property int $shift_id + * @property int $schedule_id + * @property string $guid + * + * @property-read QueryBuilder|Schedule $schedule + * + * @method static QueryBuilder|ScheduleShift[] whereShiftId($value) + * @method static QueryBuilder|ScheduleShift[] whereScheduleId($value) + * @method static QueryBuilder|ScheduleShift[] whereGuid($value) + */ +class ScheduleShift extends BaseModel +{ + /** @var string The primary key for the model */ + protected $primaryKey = 'shift_id'; + + /** @var string Required because it is not schedule_shifts */ + protected $table = 'schedule_shift'; + + /** @var array Values that are mass assignable */ + protected $fillable = ['shift_id', 'schedule_id', 'guid']; + + /** + * @return BelongsTo + */ + public function schedule() + { + return $this->belongsTo(Schedule::class); + } +} |