File: /var/www/matriculas_api_dev/app/Repositories/CourseRepository.php
<?php
namespace App\Repositories;
use App\Models\Course;
class CourseRepository
{
public function getAll()
{
$registers = Course::where('status', true);
return $registers->orderBy('ordering', 'asc')->orderBy('id', 'asc')->get();
}
public function getById($id)
{
$register = Course::where('deleted', false)->where('id', $id)->first();
if (!$register) {
return false;
}
return $register;
}
public function getByCode($code, $id = null)
{
$query = Course::where('deleted', false)->where('code', strLower($code));
if ($id > 0) {
$query->where('id', '!=', $id);
}
$register = $query->first();
if (!$register) {
return false;
}
return $register;
}
public function getByName($course, $id = null)
{
$query = Course::where('course', strUpper($course));
if ($id > 0) {
$query->where('id', '!=', $id);
}
$register = $query->first();
if (!$register) {
return false;
}
return $register;
}
public function create($data)
{
return Course::create([
'course' => strUpper($data->course),
'code' => strUpper($data->code),
'status' => $data->status == 0 ? false : true,
'created_at' => now(),
'user_created' => auth()->user()->id
]);
}
public function update($register, $data)
{
$register->course = strUpper($data->course);
$register->code = strUpper($data->code);
$register->status = $data->status == 0 ? false : true;
$register->updated_at = now();
$register->user_updated = auth()->user()->id;
if ($register->save()) {
return true;
}
return false;
}
}