first change
This commit is contained in:
65
Modules/PMS/app/Repositories/TaskTimeRepository.php
Normal file
65
Modules/PMS/app/Repositories/TaskTimeRepository.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\PMS\Repositories;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Modules\PMS\Models\TaskTime;
|
||||
|
||||
class TaskTimeRepository implements TaskTimeInterface
|
||||
{
|
||||
public function findAll($filters = [], $limit = null, $offset = null)
|
||||
{
|
||||
return TaskTime::when(true, function ($query) use ($filters) {
|
||||
$query->whereNull("parent_id");
|
||||
|
||||
if (isset($filters["search"])) {
|
||||
$search = $filters['search'];
|
||||
$query->whereAny(['title'], 'LIKE', "%$search%");
|
||||
}
|
||||
|
||||
if (isset($filters["status"])) {
|
||||
$query->where("status", $filters["status"]);
|
||||
}
|
||||
|
||||
if (isset($filters["date"])) {
|
||||
$explodeDate = explode("to", $filters['date']);
|
||||
$query->whereBetween("start_date", [$explodeDate[0], preg_replace('/\s+/', '', $explodeDate[1])]);
|
||||
}
|
||||
|
||||
})
|
||||
->latest()
|
||||
->limit(5)
|
||||
->get();
|
||||
}
|
||||
|
||||
public function getTaskTimeById($TaskId)
|
||||
{
|
||||
return TaskTime::findOrFail($TaskId);
|
||||
}
|
||||
|
||||
public function delete($TaskId)
|
||||
{
|
||||
TaskTime::destroy($TaskId);
|
||||
}
|
||||
|
||||
public function create($TaskDetails)
|
||||
{
|
||||
return TaskTime::create($TaskDetails);
|
||||
}
|
||||
|
||||
public function update($TaskId, array $newDetails)
|
||||
{
|
||||
return TaskTime::whereId($TaskId)->update($newDetails);
|
||||
}
|
||||
|
||||
public function pluck()
|
||||
{
|
||||
return TaskTime::pluck(DB::raw('CONCAT(first_name," ", middle_name , " ",last_name) AS full_name'), 'id');
|
||||
}
|
||||
|
||||
public function getLatestTimeByTaskId($TaskId)
|
||||
{
|
||||
return TaskTime::where('task_id', $TaskId)->latest()->first();
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user