是否可以在Eloquent中使用WHERE
?我需要做这样的事情:
if ($params) {
foreach ($params as $param => $value)
$this->users->where($param, '=', $value);
}
$users = $this->users->get($values)->take($limit)->toArray();
P.S。
$this->users
是由Eloquent
答案 0 :(得分:1)
您需要做的是:
take
,get
,toArray
)$query = $this->users->newQuery(); if ($params) { foreach ($params as $param => $value) $query = $query->where($param, $value); } $query = $query->take($limit)->get($values)->toArray(); dd($query);
答案 1 :(得分:0)
是的,你可以。看到你的代码我会说你需要whereIn,请参阅文档以获得澄清。 另请参阅http://laravel.com/docs/eloquent
您可以使用where子句,如下所示:
$model = User::where('$param', '=', $something)->get();
答案 2 :(得分:0)
在使用get()
函数之前构建您的Eloquent对象。
逻辑步骤:
get()
。因此,您的准则如下:
$users = $this->users;
if ($params) {
foreach ($params as $param => $value)
$users->where($param, '=', $value);
}
$usersResult = $users->take($limit)->get()->toArray();
答案 3 :(得分:0)
您也可以使用:
$query->where($params);
// instead of
foreach ($params as $param => $value)
$query = $query->where($param, $value);
}