I'm trying to make Gantt's chart using DHTMLX Gantt API.
The goal is to show only certain Gantt's lines to certain users. So for example: if I open a contract it shows me the Gantt's chart of that contract, but if I have permission for ex: purchases, then it should only show me the line with certain permission ID which is in the DB table Task.
Now the problem is somewhere around this function:
public function getOne($id){
$tasks = new Task();
$links = new Link();
return response()->json([
"data" => $tasks->where('relation_id', $id)->where('permission', 2)->get(),
"links" => $links->all()
]);
}
The 'relation_id' works fine and shows only a single project, but when I try to add another WHERE it just breaks without errors and doesn't load the chart information.
I think it has to do something with the JSON as if I do just send this query on any other page without inserting into GANTT (just as JSON) it shows me the correct information.
So basically I need to make that query work with this API, I have no clue about why 1 extra line of statement would break it.
I also tried the WHERE statement like this:
"data" => $tasks->where([['relation_id', '=', $id],['permission','=',2]])->get()
Here is the link to the Gantt chart: link
I followed the steps in their documentation to start: link
Hi your instantiating an object and trying to access a static method hence, its failing
try this
public function getOne($id){
$tasks = Task::query();
$links = Link::query();
return response()->json([
"data" => $tasks->where('relation_id', $id)->where('permission', 2)->get(),
"links" => $links->get()
]);
}