传递电子邮件使用laravel

问题描述:

User_id  parent_id  email   username 
1    [email protected]  abc 
2    [email protected]  xyz 
3  5  [email protected]  
4    [email protected]  nodata 
5    [email protected] parent 

我要与提供的用户名发送邮件,但其中存在的PARENT_ID它亘古不变的在这种情况下,用户名,我们将挑选PARENT_ID = USER_ID父用户它指的是具有用户名家长USER_ID = 3。传递电子邮件使用laravel

那么如何轻松实现这一点。

我已经做了迄今为止

$user = User::where('email', Input::get('email')) 
     ->where('type', Input::get('type')) 
     ->active() 
     ->first(); 
$data = [ 
      'name'  => $user->name, 
      'email' => $user->email, 
      'username' => $user->username 
     ]; 


if($user->username == "" && $user->parent_id){ 
      $userParent = User::where('user_id', $user->parent_id) 
         ->active() 
         ->first(); 
     } 

Mail::later(5, 'emails.send', $data, function($message) use ($user) 
     { 
      $message->from('[email protected]', 'abc'); 
      $message->to($user->email, $user->name)->subject('ABC - Recovered Username'); 
     }); 

return Response::json([ 
      'success' => true, 
      'message' => 'Recovered Username', 
      'data' => [ 
       'username' => $user->username 
      ] 
     ], 200); 

在这样的要求要其中用户名是获取数据==“” & & PARENT_ID无济于事比发送电子邮件给谁拥有PARENT_ID = USER_ID在这上面的用户例如PARENT_ID = 5比USER_ID将= 5,所以如果有人援引这比它应该有它的用户名的电子邮件发送给[email protected]

才明白的关注

User_id  parent_id  email      username 
1      [email protected]    abc 
2       [email protected]    xyz 
3  5    [email protected]  
4       [email protected]    nodata 
5       [email protected]   parent 

都具有相同的电子邮件ID除了USER_ID 3,因为它已经PARENT_ID所以没有用户名这个ID

这种情况下,我们想获取PARENT_ID的电子邮件ID是在USER_ID = 5,它是[email protected]我们会发送用户名到这个电子邮件ID其他谁有用户名正常流量将继续

+0

请在此关注 –

更改$数据的行位置,如果条件与替换,以便每当用户名=='',并有父母身份证它会去其父母。 也使用$ user而不是$ userParent并传递$ data。

$user = User::where('email', Input::get('email')) 
     ->where('type', Input::get('type')) 
     ->active() 
     ->first(); 

while ($user->username == "" && $user->parent_id) { 
    $user = User::where('user_id', $user->parent_id) 
      ->active() 
      ->first(); 
} 

$data = [ 
    'name' => $user->name, 
    'email' => $user->email, 
    'username' => $user->username 
]; 

Mail::later(5, 'emails.send', $data, function($message) use ($user) { 
    $message->from('[email protected]', 'abc'); 
    $message->to($user->email, $user->name)->subject('ABC - Recovered Username'); 
}); 

return Response::json([ 
      'success' => true, 
      'message' => 'Recovered Username', 
      'data' => [ 
       'username' => $user->username 
      ] 
       ], 200); 
+0

帮助并不总是奏效取父用户帐户的详细信息 –

+0

你的意思是上面的代码不发送电子邮件至[email protected] – Dinoop

+0

这总是发送到getPar @ gmail的。 com是否有人有用户名 –