Mysql
 sql >> Database >  >> RDS >> Mysql

Laravel 4 DB::raw query con IN nella clausola WHERE non funziona con il parametro con MySQL

Che ne dici di qualcosa del genere per parametrizzare i valori al volo? Questo è per un elenco di ID, ma sono sicuro che puoi vedere come adattarlo alle e-mail.

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