2017-08-24 11 views
0

私はmongoDBとPHP(Laravel)で作業していて、PHP(Laravel)上で複雑なクエリを実行するのに困難があります。 PHP(Laravel)では、本当に苦労します。どのようにPHP(Laravel)の生のクエリのように実行することができますか?mongoDBとPHP(Laravel)を使用しています

答えて

0

Raw queries in Laravel

時には、クエリで生の発現を使用する必要があります。これらの式はクエリに文字列として注入されるため、SQL注入ポイントを作成しないように注意してください。生の式を作成するには、DB::rawメソッド使用できます

$users = DB::table('users') 
        ->select(DB::raw('count(*) as user_count, status')) 
        ->where('status', '<>', 1) 
        ->groupBy('status') 
        ->get(); 

他の例を

$result = DB => collection('PMS')->raw(function ($collection){ 
    return $collection->aggregate(array(
     array('$match' => array("PanelID" => "A00898")), 
     array('$project' => array('EventTS' => 1, 'MainsPower' => 1)), 
     array(
      '$unwind' => array(
       'path' => "$MainsPower", 
       'includeArrayIndex' => "arrayIndex", 
       'preserveNullAndEmptyArrays' => true 
      ) 
     ), 
     array(
      '$project' => array(
       '_id' => 0, 
       'MainsPower' => 1, 
       'timestamp' => array(
        "$add" => array(
         "$EventTS", 
         array("$multiply" => array(60000, "$arrayIndex")) 
        ) 
       ) 
      ) 
     ) 
    )); 
}); 
+0

を他の誰かがそれが参考になっ – FaDi

+0

:-)どうもありがとうございます!私もこの方法を試してみます:-) –

0

時にはクエリで生の発現を使用する必要があります。これらの式はクエリに文字列として注入されるため、SQL注入ポイントを作成しないように注意してください。生の式を作成するには、DB::raw方法使用できます

$result = DB::select(
    DB::raw('your query here') 
); 

Reference

+0

おかげだ知っているので、そのヘルプはあなたが答えをマークすると – FaDi

関連する問題