Wywołaj funkcję składową where () w tablicy laravel 5.0.35


używam
public function getImages($array_symbols_id){ $array_images = DB::table('photo')
->whereIn('photo_symbol_id', $array_symbols_id)
->where('photo_moderation_id','2')
->orderByRaw('RAND()')
->get(['photo_id', 'photo_src', 'photo_symbol_id']);

więc spróbuj
$array = array(); foreach ($array_symbols_id as $id) {
$array[] = $array_images->where('photo_symbol_id', $id)->first()->photo_src;
}

ale mam wywołanie wyjątku do funkcji elementu członkowskiego where () w tablicy.
Dlaczego DB :: table zwraca tablicę, ale nie kolekcję?
laravel v5.0.35
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

W Laravel 5.0 DB zwraca tablicę, a model zwraca kolekcje, więc możesz uczynić z niej kolekcję za pomocą
collect ()
:
$array_images = collect(DB::table('photo')
->whereIn('photo_symbol_id', $array_symbols_id)
->where('photo_moderation_id','2')
->orderByRaw('RAND()')
->get(['photo_id', 'photo_src', 'photo_symbol_id']));

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się