示例#1
0
 public function index()
 {
     $datums = Venue::selectRaw('name AS value')->addSelect('id', 'address_id', 'name_of_hall', 'indoor_or_outdoor');
     if (Input::get('q')) {
         $queryTokens = explode(' ', Input::get('q'));
         foreach ($queryTokens as $queryToken) {
             $datums = $datums->where(function ($query) use($queryToken) {
                 $query->where('name', 'like', '%' . $queryToken . '%')->orWhere('name_of_hall', 'like', '%' . $queryToken . '%');
             });
         }
     }
     $datums = $datums->distinct()->take(50)->get();
     foreach ($datums as $datum) {
         $datum->tokens = array_merge(explode(' ', $datum->value), [$datum->value]);
         $address = $datum->address()->first();
         if ($address) {
             $datum->email = $address->email;
             $country = $address->country()->first();
             $datum->country = $country->name;
         }
     }
     return Response::json($datums);
 }