我有一个mssql sp,其中一个参数是表值。我想从laravel项目传递一个int数组。我试过这个:
DB::connection("sqlsrv")->select(
"Exec spName @table-valuedParam=?, param2=?.., array(arrayofInt, param2..) )
我得到错误:参数不匹配,模式需要字符串,但给出数组。
我的目的是从表中选择哪个id在该数组中的记录,实际上sp包含这样的一个部分,其中id在(@idList)中我使用表值但是可以将一个数组从laravel传递给它。怎么办呢?
有没有办法做这个工作?对不起,我的英语不好
经过大量搜索我得到了答案。我将用户选择的id作为带有逗号分隔的字符串传递并创建一个sql server函数,它执行split作业并返回一个int的表,然后我使用where子句,如:select * from mytable where id in(select * from sqlsrvFunc(@ idsStr)它的工作很完美