File: /var/www/vhost/disk-apps/qas.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 = ''");
$query = AppSection::select('app_sections.*')
->leftjoin('app_section_tags as ast', 'app_sections.id', '=', 'ast.app_section_id')
->leftjoin('user_tags as ut', 'ut.tag_id', '=', 'ast.tag_id')
->leftjoin('tags', function ($join) {
$join->on('tags.id', '=', 'ut.tag_id')->where('tags.active', 1);
})
->where('app_sections.active', true);
if (Auth::user()) {
$userId = Auth::user()->id;
$query->where(function ($q) use ($userId) {
$q->where('ut.user_id', $userId)->orWhereNull('ast.id');
});
} else {
$query->whereNull('ast.id');
}
$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
));
}
}