Fok*_*est 2 activerecord laravel
我曾经在代码 Igniter 中做过类似的事情
$this->db->select('*');
$this->db->from($this::DB_TABLE);
if ($role == "manager") {
$this->db->where('is_manager',1);
}
if ($role == "staff") {
$this->db->where('is_staff',1);
}
$this->db->where('is_active', 1);
$this->db->order_by('last_name', 'asc');
$user_set = $this->db->get();
return $user_set;
Run Code Online (Sandbox Code Playgroud)
我如何在 Laravel 5 中编写类似的查询。我是 Laravel 的新手。
如果您想有条件地更改查询参数,如下所示:
$query = Model::select('*')
if ($role == "manager") {
$query = $query->where('is_manager',1);
}
if ($role == "staff") {
$query = $query->where('is_staff',1);
}
$user_set = $query->where('is_active', 1)->orderBy('last_name', 'asc')->get();
return $user_set;
Run Code Online (Sandbox Code Playgroud)
但我认为这样会更简洁(完全未经测试,但我认为这会起作用):
return Model::select('*')
->where('is_manager', $role == 'manager' ? 1 : 0)
->where('is_staff', $role == 'staff' ? 1 : 0)
->where('is_active', 1)
->orderBy('last_name', 'ASC')
->get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4341 次 |
| 最近记录: |