Skip to content
Snippets Groups Projects
Commit fa40edc4 authored by W's avatar W
Browse files

fixing query

parent 0d5b88ee
No related merge requests found
...@@ -6,6 +6,8 @@ use Illuminate\Http\Request; ...@@ -6,6 +6,8 @@ use Illuminate\Http\Request;
use App\Task; use App\Task;
use App\Group; use App\Group;
use App\TasksMember; use App\TasksMember;
use Illuminate\Support\Facades\DB;
use function GuzzleHttp\json_encode;
class TaskController extends Controller class TaskController extends Controller
{ {
...@@ -134,10 +136,40 @@ class TaskController extends Controller ...@@ -134,10 +136,40 @@ class TaskController extends Controller
public function getTasksFromGroupId(Request $req, $groupId) { public function getTasksFromGroupId(Request $req, $groupId) {
$tasks = Task::where('group_id', $groupId)->get(); if ($req->has(['status_kanban'])) {
return response(json_encode([ $idTaskMember = TasksMember::all();
'data' => $tasks->toArray(), $idTaskMemberArr = array();
'statusMessage' => 'success' foreach($idTaskMember as $element){
]), 200); array_push($idTaskMemberArr,$element['task_id']);
}
// echo(json_encode($idTaskMemberArr));
$taskNotIn = DB::table('tasks')
->select('tasks.id','tasks.group_id','taskname','description', 'status_kanban', 'work_hour','tasks.created_at','tasks.updated_at', DB::raw('"-" as assignee'))
->where([
'status_kanban' => $req->status_kanban,
'tasks.group_id'=> $groupId,
])->whereNotIn('id', $idTaskMemberArr);
$tasksWithName = DB::table('tasks')
->select('tasks.id','tasks.group_id','taskname','description', 'status_kanban', 'work_hour','tasks.created_at','tasks.updated_at','users.name as assignee')
->join('tasks_member','tasks.id','=','task_id')
->join('users','users.id','=','tasks_member.user_id')->where([
'status_kanban' => $req->status_kanban,
'tasks.group_id'=> $groupId,
])->union($taskNotIn)->get();
return response(json_encode([
'data' => $tasksWithName->toArray(),
'statusMessage' => 'success'
]), 200);
} else {
$tasks = DB::table('tasks')
->select('users.id','tasks.group_id','taskname','description', 'status_kanban', 'work_hour','tasks.created_at','tasks.updated_at','users.name')
->join('tasks_member','tasks.id','=','task_id')
->join('users','users.id','=','tasks_member.user_id')->get();
return response(json_encode([
'data' => $tasks->toArray(),
'statusMessage' => 'success'
]), 200);
}
} }
} }
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment