Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Laravel 4 DB ::truy vấn thô với IN trong mệnh đề WHERE không hoạt động với tham số với MySQL

Làm thế nào về một cái gì đó như thế này để tham số hóa các giá trị một cách nhanh chóng? Đây là danh sách các Id, nhưng tôi chắc rằng bạn có thể thấy cách điều chỉnh nó với email.

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL trừ khỏi truy vấn con bị cô lập

  2. Trả lại dữ liệu từ các hàng với ngày gần đây nhất của mỗi ứng cử viên riêng biệt

  3. Lưu trữ dữ liệu lịch trong MySQL

  4. Sửa chữa bảng Mysql không thành công:Không thể tạo tệp tạm thời mới

  5. Chọn một máy chủ tìm kiếm toàn văn bản độc lập:Sphinx hay SOLR?