2016-09-21 4 views
0

나는 쿼리 빌더를 사용하여 데이터베이스에서 사용자의 이메일 주소를 얻고 그들 모두에게 이메일을 보내고 싶지만 지금까지는 며칠 동안 여기에 머물렀다.Laravel 5.2에서 쿼리 빌더로 변수 전달하기

공공 기능 postSearchAction (요청 $ 요청) {

 $data = array(
      'service' => $request->get('service'), 
      'location' => $request->get('location'), 
      'allProviders' => $request->get('allProviders'), 
      'date' => $request->get('date'), 
      'optional_skills' => $request->get('optional_skills'), 
      'landmark_homepage' => $request->get('landmark_homepage'), 
      'name' => Auth::user()->name, 
      'userEmail' => Auth::user()->email, 
      'requesterMobile' => Auth::user()->phone_number 
     ); 




     $email = DB::table('users')->where('main_service', 'LIKE', '%'.$data['location'].'%') 
      ->where('city_service', 'LIKE', '%'.$data['location'].'%') 
      ->pluck('email'); 




     To send emails 

     \Mail::send('auth.emails.serviceProviders', $data, function($message) use ($data) 
     { 
       $message->to($email, 'oluyemi')->subject('Test'); 
     }); 


    } 

지금 내가 DD ($ 메일)를 사용하려고했지만는 하늘의 배열을 돌려 보냈다. 나는 일단 쿼리 빌더 내에서 변수를 예상 값으로 변경하면 모든 것이 잘 작동한다고 언급 할 가치가 있다고 생각합니다.

누군가가 도와 주시길 바랍니다. 잘못된 것을 잘 모릅니다. 변수를 사용해야합니다.

도움 주셔서 감사합니다.

+0

'$ data [ 'location']'에 값이 있습니까? 어떤 오류가 있습니까? –

+0

@timenomad 답장을 보내 주셔서 감사합니다 ..... 그렇습니다. dd ($ data [ 'location'])를 실행하면 값을 반환합니다. ('main_service', 'LIKE', '%'. $ data [ 'service']. '%') 여기서 dd ($ email)는 [] – yemiwebby

+0

$ email = DB :: table -> ('city_service', 'LIKE', '%'. $ data [ 'location']. '%') -> pluck ('email'); – yemiwebby

답변

0

우리는 무엇이 잘못되었는지를 알 수 있도록 원시 SQL 쿼리를 보여주십시오. 은 $ 이메일 질의 후
은 넣어 :

DB::enableQueryLog(); 
dd(DB::getQueryLog()); 

그것은 마지막 항목 될 것입니다.

또는

->toSql() 대신 ->pluck() 및 DD를 (추가)를.

+0

방금 ​​시도한이 $ email = DB :: table (' ('main_service', 'LIKE', '%'. $ data [ 'service']. '%') -> 여기서 'city_service', 'LIKE', '%'. $ data [ 'location']. '%') -> tosql(); dd ($ email) ;. 그리고 "main_service' LIKE와'city_service' LIKE?가있는 'users'에서 select *를 얻었습니다. – yemiwebby

+0

toSql (대문자로 된 S)입니다. 출력을 게시 할 수 있습니까? –