Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel 4 DB::consulta raw com IN na cláusula WHERE não funciona com parâmetro com MySQL


Que tal algo assim para parametrizar valores em tempo real? Isso é para uma lista de IDs, mas tenho certeza que você pode ver como adaptá-la aos 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);
}