Laravel DB mysql选择数组中哪些列存在?

时间:2015-07-01 11:27:54

标签: php mysql arrays laravel laravel-5

我将一个数组发送到我在Laravel 5中制作的API,这是一个允许值的数组ex:[1,3,5]

我尝试像这样选择:

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

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

risks是数组。

我从数据库收到的是空数组。

在测试中,我发送每个可能的值0 ... 4但是我收到一个空数组。

如何选择数组中存在列值的行?

2 个答案:

答案 0 :(得分:6)

如果您认为$json->risks[1,2,3]之类的数组,请尝试按照

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

Read More

答案 1 :(得分:2)

我在你的剧本中做了一些改动:

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

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

这将有效,您将获得值数组。