Laravel - красноречиво, где с массивом - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь выполнить этот запрос в соответствии с документацией, но он возвращает ошибку array_key_exists(): The first argument should be either a string or an integer

https://laravel.com/docs/5.8/queries#where -clauses

 $imagessize = $galleryObj->photos->where([
                ['gallery_id','=', $gallery->id],
                ['delete','=',0],
            ])->sum('filesize');

1 Ответ

1 голос
/ 28 марта 2020

Метод where не принимает массивы, если вы хотите, чтобы вы использовали метод whereIn :

Метод whereIn проверяет, что значение данного столбца содержится в данном массиве:

Например:

users = DB::table('users')
                ->whereIn('id', [1, 2, 3])
                ->get();

Это вернет пользователей с идентификаторами 1,2 и 3.

Но в вашем Если я не думаю, что вам это нужно. Попробуйте вместо этого:

$imagessize = $galleryObj->photos->where('gallery_id',$gallery->id)->where('delete', 0)->sum('filesize');
...