Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Laravel 4 DB::raw-Abfrage mit IN in der WHERE-Klausel funktioniert nicht mit Parametern mit MySQL

Wie wäre es mit so etwas, um Werte im laufenden Betrieb zu parametrisieren? Dies ist für eine Liste von IDs, aber ich bin sicher, Sie können sehen, wie man sie an E-Mails anpasst.

public function getDataByIds($idArray)
{
    $parametersString="";
    $parameters=[];
    for($i=0; $i<count($idArray);$i++)
    {
        $parameterName = ":id" . $i;
        $parametersString .= $parameterName . ",";
        $parameters[$parameterName]=$idArray[$i];
    }
    $parametersString=substr($parametersString, 0, -1);
    $query = $this->getQuery("SELECT blah WHERE id IN (".$parametersString.")");
    return DB::select(DB::raw($query), $parameters);
}