2017-12-16 3 views
2

나는 그것의 인수 중 하나가 테이블 반환 인 mssql sp를가집니다. 나는 int 배열을 laravel 프로젝트에서 그것을 전달하고 싶다. 나는이 시도 :"in"연산자에서 사용하기 위해 laravel에서 int의 배열을 mssql sp로 전달

DB::connection("sqlsrv")->select(
      "Exec spName @table-valuedParam=?, param2=?.., array(arrayofInt, param2..)) 

을하고 내가 오류를 얻을 : 매개 변수 불일치, 패턴은 주어진 문자열하지만 배열이 필요합니다.

내 목적은 아이디하여 그 배열의, 실제로 SP 테이블에서 레코드를 선택이 같은 섹션을 포함하는 경우 (@idList)에서 ID 내가 사용하는 테이블 반환 만에 laravel에서 배열을 전달할 수 있습니다 그것. 어떻게 할 수 있니?

이 작업을 수행하는 방법은 무엇입니까? 내 나쁜 영어로 죄송합니다

+0

for 루프를 사용하여 배열을 살펴보고 각 배열 요소를 개별적으로 전달할 수 있습니다. 이렇게하면 배열의 모든 값을 검사 할 수 있습니다. 한 번에 전체 배열 – Geshode

+0

@Geshode 거기에 많은 데이터가 있고 SQL Server 필터 데이터 싶습니다.이 방법은 비용 효과적이지 않습니다. 응답을 주셔서 감사합니다 – vartolombe

답변

0

많이 검색 한 후 답변을 얻습니다. 나는 사용자가 선택한 ID를 쉼표로 구분 된 문자열로 전달하고 분할 작업을 수행하고 int 테이블을 반환 한 다음 where 절을 사용하는 SQL 서버 함수를 만듭니다. select * from mytable where id in (select * from sqlsrvFunc (@idsStr) 잘 작동 했음