Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel 4 DB ::la requête brute avec IN dans la clause WHERE ne fonctionne pas avec le paramètre avec MySQL

Que diriez-vous de quelque chose comme ça pour paramétrer les valeurs à la volée ? Ceci est pour une liste d'identifiants, mais je suis sûr que vous pouvez voir comment l'adapter aux e-mails.

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);
}