2016-11-07 9 views
0

Я новичок в laravel. Мне нужно отправить электронное письмо во все записи в таблице, используя условие (где exam_id = 1). Каждая запись получит сообщение электронной почты, это имя и адрес электронной почты его собственного. Уже хранятся в таблице. Может ли это предложить?Отправить письмо ко всем записям в таблице, используя условия в laravel

Заранее спасибо

 public function sendmail(Request $request) { 

     $email = DB::table('student')->select('email','exam_id')->where('exam_id','=','1')->get(); 
      $email= mysql_query("SELECT email FROM student WHERE exam_id='1' ;"); 
      $title = $request->input('title'); 
      $content = $request->input('content'); 
     if(mysql_num_rows($email)) 
     { 
     while($elist_result = mysql_fetch_array($email)) 
      { 
      Mail::send('email', ['title' => $title, 'content' => $content],function ($message) 
      { 
      $message->from('[email protected]', 'dhivya'); 
      $message->to('[email protected]'); 
       $message->cc($elist_result); 
      $message->subject("Hello"); 

      } ); 
       } 
      } 
      return response()->json(['message' => 'message send successfully']); 
       } 
+0

Share ваши усилия как в коде. Одним простым подходом было бы сохранение результата запроса в объекте и зацикливание на нем. – Shubhamoy

+0

i включил мой код Mr.Shubhamoy Chakrabarty.Спасибо за ваш ответ. Пожалуйста, предложите для меня –

+2

С какой ошибкой вы сталкиваетесь? Кажется, что ваш код в порядке, хотя и с небольшими изменениями, такими как использование PDO или mysqli_ * вместо mysql_ * (поскольку это уже устарело в PHP7). – Ronald

ответ

0

Я вижу, что вы приклеиваетесь к ясному PHP и это неправильно, пока вы работаете в рамках Laravel.

public function sendmail(Request $request) { 

     $emails = DB::table('student')->select('email','exam_id')->where('exam_id','=','1')->get(); 

     $title = $request['title']; 
     $content = $request['content']; 


     foreach($emails as $email) { 
      Mail::send('email', ['title' => $title, 'content' => $content],function ($message) 
      { 
      $message->from('[email protected]', 'dhivya'); 
      $message->to($email->email); 
      $message->subject("Hello"); 

      }); 
     } 

    return response()->json(['message' => 'message send successfully']); 
} 

Просмотрите свой код, отредактированный мной, и попробуйте его.

+0

ОшибкаException в HomeController.php строка 336: Неопределенная переменная: email // Я получил эту ошибку –

+0

Проверьте отредактированный код, произошла небольшая ошибка. –

+0

Спасибо за ваш ответ Mr.forexknight. Я пробовал ваш код, но я получил ошибку выше. –

0

public function sendmail(Request $request) { 
 

 
     $email = DB::table('student')->select('email','exam_id')->where('exam_id','=','1')->get(); 
 

 
     $title = $request['title']; 
 
     $content = $request['content']; 
 

 

 
     foreach($email as $email) { 
 
      Mail::send('email', ['title' => $title, 'content' => $content],function ($message) 
 
      { 
 
      $message->from('[email protected]', 'dhivya'); 
 
      $message->to($email->email); 
 
      $message->subject("Hello"); 
 

 
      }); 
 
     } 
 

 
    return response()->json(['message' => 'message send successfully']); 
 
}