Laravel 5.0:如何根据状态过滤收集结果



我有一个计算机数据库,我希望它们在状态="禁用"时隐藏,我知道软删除,但我仍然希望管理员有权访问这些计算机,即使它们不会出现在这个特定视图上,所以它们无法删除。

这是控制器功能

public function home(Request $request)
{
$user = Auth::user();
switch ($user->tipo) {
case 'admin':
$title = 'Máquinas';
$maquinas = Maquinas::all();
$admin = true;
break;
case 'cliente':
$cliente = Clientes::find($user->cliente_id);
$title = $cliente->empresa.' <i class="fa fa-arrow-right" style="font-size: 20px; color: gray"></i> Máquinas';
$maquinas = $cliente->maquinas()->get();
$admin = false;
break;
case 'base':
$cliente = Clientes::find($user->cliente_id);
$base = Bases::find($user->base_id);
$title = $cliente->empresa.' <i class="fa fa-arrow-right" style="font-size: 20px; color: gray"></i> '.$base->nome.' <i class="fa fa-arrow-right" style="font-size: 20px; color: gray"></i> Máquinas';
$maquinas = $base->maquinas()->get();
$admin = false;
break;
default:
# code...
break;
}

我想在案例"客户"和案例"基础"上过滤禁用的

您应该能够将where函数链接到查询中,假设您有一列状态。

$maquinas = $cliente->maquinas()->where('status', '!=', 'disabled')->get();

用于查询构建器的 Laravel 文档

最新更新