如何解决类型错误:传递给Rinvex \ Repository \ Repositories \ EloquentRepository :: findWhereNotIn()的参数1必须是类型数组?

时间:2017-03-02 14:21:52

标签: php laravel repository laravel-5.3 laravel-eloquent

我的查询是这样的:

$this->user_repository->findWhereNotIn('id', [1, 2, 3, 4]);

执行时,会出现如下错误:

  

[Symfony \ Component \ Debug \ Exception \ FatalThrowableError]类型   错误:参数1传递给   Rinvex \库\库\ EloquentRepository :: findWhereNotIn()   必须是类型数组,给定的字符串,调用   C:\ XAMPP \ htdocs中\ myshop \程序\控制台\命令\ Check.php   第48行

而在教程https://github.com/rinvex/repository#findwherenotin中,看起来我的查询是正确的

我该如何解决?

1 个答案:

答案 0 :(得分:2)

您在第一个参数中将列名作为字符串传递,然后在第二个参数中将值作为数组,而rinvex/repository findWhereNotIn as per the docs的正确语法是将列名和值作为assosiative数组传递给第一个参数,如下所示:

$repository->findWhereNotIn(['id', [1, 2, 5, 8]]);

注意他们的传递方式: [' id',[1,2,5,8]]