Example #1
0
     });
 });
 Route::group(['prefix' => 'project'], function () {
     Route::group(['middleware' => ['cors']], function () {
         Route::get('/', function () {
             return Project::with(['faculty'])->whereHas('status', function ($q) {
                 $q->where('key', '=', 'published');
             })->orderBy('created_at', 'desc')->get();
         });
         Route::get('{id}', function ($id) {
             $project = Project::with(['faculty', 'photos', 'youtubes', 'users', 'province', 'amphur', 'district'])->where('id', '=', $id)->first();
             return $project;
         });
         Route::get('search/{keyword}', function ($keyword) {
             //Project::addAllToIndex();
             $projects = Project::complexSearch(['body' => ['query' => ['query_string' => ['query' => "*{$keyword}* OR {$keyword}", 'analyzer' => 'thai', 'fields' => ["name_th", "name_en", 'description_th', 'description_en']]]], 'analyzer' => 'thai']);
             $projects = new Collection($projects);
             //dd($projects);
             return $projects;
         });
     });
     Route::get('search', function (\Symfony\Component\HttpFoundation\Request $request) {
         $faculty_id = $request->get('faculty_id');
         $keyword = $request->get('keyword');
         $query = Project::query();
         if ($faculty_id) {
             $query = $query->where('faculty_id', '=', $faculty_id);
         }
         if ($keyword) {
             $query = $query->where('name_th', 'LIKE', "%{$keyword}%");
             $query = $query->orWhere('name_en', 'LIKE', "%{$keyword}%");