File: /var/www/vhost/disk-apps/demo.sports-crowd.com/app/Http/Controllers/Api/AppSectionApiController.php
<?php
namespace App\Http\Controllers\Api;
use App\AppSection;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
class AppSectionApiController extends Controller
{
public function get()
{
\DB::statement("SET sql_mode = ''");
$userId = Auth::user()->id;
$query = AppSection::select('app_sections.*')
->leftjoin('app_section_tags', 'app_sections.id', '=', 'app_section_tags.app_section_id')
->leftJoin('tags', function ($join) {
$join->on('tags.id', '=', 'app_section_tags.tag_id')
->where('tags.active', 1);
})
->leftjoin('user_tags', 'user_tags.tag_id', '=', 'app_section_tags.tag_id')
->where(function ($q) use ($userId) {
$q->where('user_tags.user_id', $userId)
->orWhereNull('app_section_tags.id')
->orWhereNull('tags.id');
})
->where('app_sections.active', true);
$query->groupBy('app_sections.id');
// To get the results
$query = $query->get();
\DB::statement("SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'");
return response(array(
"status" => true,
"type" => "success",
"title" => "ok",
"message" => "",
"data" => $query
));
}
}