tutoring/app/Models/Chapter.php

41 lines
784 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
class Chapter extends Model
{
protected $fillable = ['lesson_section_id', 'title', 'order'];
public function lessonSection()
{
return $this->belongsTo(LessonSection::class);
}
public function lessons()
{
return $this->hasMany(Lesson::class)->orderBy('order');
}
protected static function booted()
{
static::creating(function ($chapter) {
if (empty($chapter->slug)) {
$chapter->slug = Str::slug($chapter->title);
}
});
static::updating(function ($chapter) {
if ($chapter->isDirty('title')) {
$chapter->slug = Str::slug($chapter->title);
}
});
}
public function getRouteKeyName()
{
return 'slug';
}
}