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

问题描述 投票:0回答:1

我有一个计算机数据库,我希望它们在状态为“禁用”时隐藏,我知道软删除,但是我仍然希望管理员能够访问这些计算机,即使它们不会出现在该特定视图中,因此无法将其删除。

这是控制器功能

    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;
    }

我想过滤案例'cliente'和案例'base'的禁用者>

我有一个计算机数据库,我希望它们在状态为“禁用”时隐藏,我知道软删除,但是我仍然希望管理员能够访问那些计算机,即使它们不会出现在...上也是如此。 >

php laravel-5 eloquent
1个回答
0
投票

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

$maquinas = $cliente->maquinas()->where('status', '!=', 'disabled')->get();
© www.soinside.com 2019 - 2024. All rights reserved.