Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
<?php namespace Modules\Courses\Entities;
   
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Prettus\Repository\Contracts\Presentable;
use Prettus\Repository\Traits\PresentableTrait;

/**
 * Modules\Courses\Entities\Course
 *
 * @property integer $id
 * @property string $title
 * @property boolean $is_active
 * @property boolean $public
 * @property \Carbon\Carbon $created_at
 * @property \Carbon\Carbon $updated_at
 * @property string $deleted_at
 * @property-read \Illuminate\Database\Eloquent\Collection|\Modules\Courses\Entities\Slide[] $slides
 * @property string $description
 * @property integer $order
 * @property-read \Illuminate\Database\Eloquent\Collection|\Modules\Courses\Entities\Analytic[] $analytic
 * @property-read \Illuminate\Database\Eloquent\Collection|\Modules\Students\Entities\Student[] $student
 * @method static \Illuminate\Database\Query\Builder|\Modules\Courses\Entities\Course whereId($value)
 * @method static \Illuminate\Database\Query\Builder|\Modules\Courses\Entities\Course whereTitle($value)
 * @method static \Illuminate\Database\Query\Builder|\Modules\Courses\Entities\Course whereDescription($value)
 * @method static \Illuminate\Database\Query\Builder|\Modules\Courses\Entities\Course whereOrder($value)
 * @method static \Illuminate\Database\Query\Builder|\Modules\Courses\Entities\Course whereIsActive($value)
 * @method static \Illuminate\Database\Query\Builder|\Modules\Courses\Entities\Course wherePublic($value)
 * @method static \Illuminate\Database\Query\Builder|\Modules\Courses\Entities\Course whereCreatedAt($value)
 * @method static \Illuminate\Database\Query\Builder|\Modules\Courses\Entities\Course whereUpdatedAt($value)
 * @method static \Illuminate\Database\Query\Builder|\Modules\Courses\Entities\Course whereDeletedAt($value)
 * @mixin \Eloquent
 */
class Course extends Model implements Presentable {

    use PresentableTrait,
        SoftDeletes;
    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'courses';

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = ['title', 'description', 'order', 'is_active', 'public'];

    /**
     * Get the slides for the course
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function slides()
    {
        return $this->hasMany('Modules\Courses\Entities\Slide', 'course_id')->orderBy('order', 'asc');
    }

    /**
     *
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function analytic()
    {
        return $this->hasMany('Modules\Courses\Entities\Analytic', 'course_id');
    }

    /**
     * Get the answers for the exam
     * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
    public function student()
    {
        return $this->belongsToMany('Modules\Students\Entities\Student')->withPivot(['id']);
    }
}