/home/techb158/ileadtechnology.com/SSM/app/Models/utility
Edit: /home/techb158/ileadtechnology.com/SSM/app/Models/utility/Todo.php (1964B)
'array', 'date' => 'date'];
protected $primaryKey = 'id';
protected $table = 'todos';
protected static $logName = 'todo';
protected static $logFillable = true;
protected static $logOnlyDirty = true;
protected static $ignoreChangedAttributes = ['updated_at'];
public function user()
{
return $this->belongsTo('App\User');
}
public function getOption(string $option)
{
return array_get($this->options, $option);
}
public function scopeFilterByTitleOrDescription($q, $keyword = null)
{
if (! $keyword) {
return $q;
}
return $q->where('title', 'like', '%'.$keyword.'%')->orWhere('description', 'like', '%'.$keyword.'%');
}
public function scopeFilterCompletedTodo($q, $status = null)
{
if (! $status) {
return $q;
}
return $q->whereStatus(1);
}
public function scopeFilterByUserId($q, $user_id = null)
{
if (! $user_id) {
return $q;
}
return $q->whereUserId($user_id);
}
public function scopeDateBetween($q, $dates)
{
if ((! $dates['start_date'] || ! $dates['end_date']) && $dates['start_date'] <= $dates['end_date']) {
return $q;
}
return $q->where('date', '>=', getStartOfDate($dates['start_date']))->where('date', '<=', getEndOfDate($dates['end_date']));
}
}