2015-07-01 15 views
6

wyślę tablicę do mojego API wykonane w laravel 5, która jest tablicą dopuszczalne wartości Ex: [1,3,5]Laravel DB mysql wybierz, gdzie kolumna istnieje w tablicy?

próbuję zrobić select tak:

$json = (object)Input::all(); 

$loans = DB::table("loans") 
     ->where("years", ">=", $json->year_low) 
     ->where("years", "<=", $json->year_high) 
     ->where("risk", $json->risks) 
     ->get(); 

risks jest tablicą.

To, co otrzymuję z bazy danych, to pusta tablica.

W teście wysyłam każdą możliwą wartość 0 ... 4, ale otrzymuję pustą tablicę.

Jak wybrać wiersz, w którym kolumna ma wartość wewnątrz tablicy?

+2

'whereIn()' może? – Andrew

Odpowiedz

6

Jeśli oznaczało $json->risks jest tablicą jak [1,2,3], spróbuj następujących

->whereIn("risk", $json->risks) 

Read More

+0

Musiałem tęsknić za tym w dokumentach, dzięki :) – Arbitur

+0

cieszę się, że mogłem help.cheers. –

2

Zrobiłem kilka zmian w swoim skrypcie:

$json = (object)Input::all(); 

$loans = DB::table("loans") 
    ->where("years", ">=", $json->year_low) 
    ->where("years", "<=", $json->year_high) 
    ->whereIn("risk", array($json->risks)) 
    ->get(); 

to będzie działać, a dostaniesz tablica wartości.