2016-11-23 183 views
0

我无法将我的SQL转换为Laravel Query。将Sql查询转换为Laravel查询

$users = DB::select(DB::raw(
      'SELECT User.*, Registration_Update.created_at as lastRegistrationUpdate 
      FROM User 
      JOIN Registration_Update 
      ON Registration_Update.user_id = User.id 
      WHERE Registration_Update.created_at = (
       SELECT MAX(Registration_Update.created_at) 
       FROM Registration_Update 
       WHERE User.id = Registration_Update.user_id 
      ) 
      AND Registration_Update.deleted_at IS NULL' 
    )); 
+0

你试图使用'加入()'laravel的辅助方法? –

+0

什么是错误? –

回答

0

解决了与代码:

$result = DB::table('User as U') 
     ->join('Registration_Update as RU', 'RU.user_id', '=', 'U.id') 
     ->select('U.*', DB::raw("DATE_FORMAT(MAX(RU.created_at),'%m/%d/%Y %H:%i:%s') as lastRegistrationUpdate")) 
     ->whereNull('RU.deleted_at') 
     ->groupBy('U.id') 
     ->get();