如果 laravel 5.4 中存在记录禁用按钮

If record exist disabled button in laravel 5.4

如果我有一个用户在我的用户 table 中注册,我正在尝试禁用一个按钮,但是我使用的方法并没有使我想要处于非活动状态的按钮停用,它正在停用它到所有寄存器。

这是我的用户迁移:

public function up()
{ 
    Schema::create('users', function (Blueprint $table) {
        $table->engine = 'InnoDB';
        $table->increments('id');
        $table->integer('id_employee')->unsigned();
        $table->string('username')->unique();//Cedula
        $table->string('name')->nullable();
        $table->string('password', 60)->nullable();
        $table->string('email', 60)->nullable();
        $table->rememberToken();
        $table->timestamps();                  
        $table->foreign('id_employee')->references('id')->on('employees')
              ->onUpdate('cascade')->onDelete('cascade');
    });
}

这是我的用户模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Employee extends Model
{
    protected $table = 'employees';

    protected $fillable = ['doc_number', 'user_code', 'name', 'last_name', 'settlement', 'address', 'city' , 'zip_code', 'email', 'phone', 'position', 'departments_id', 'hire_date'];

    protected $guarded = ['id'];

    public function departments()
    {
        return $this->belongsTo('App\Department');
    }

    public function user()
    {
        return $this->hasOne('App\User');
    }

    //Query para buscador
    public function scopeName($query, $name)
    {
      $query->leftJoin('departments','employees.departments_id','=','departments.id')
            ->select('employees.*','departments.id as deptID','departments.name as department')
            ->where('employees.name','like',"%$name%")
            ->orWhere('employees.last_name','like',"%$name%")
            ->orWhere('employees.position','like',"%$name%")
            ->orWhere('employees.email','like',"%$name%")
            ->orWhere('employees.doc_number','like',"%$name%")              
            ->orWhere('departments.name','like',"%$name%"); 
    }
}

这是我的索引方法控制器:

public function index(Request $request)
    {
        $employees = Employee::name($request->get('criteria'))->orderBy('name','asc')->paginate(6);

        $departments = Department::orderBy('id', 'desc')->pluck('name', 'id');

        $users = User::orderBy('id', 'desc')->pluck('username', 'id');

        return view('employees.index', compact('employees', 'departments', 'users'))
        ->with('i', ($request->input('page', 1) - 1) * 6);
    }

这是我的 blade 按钮视图:

<td>
    <div class="btn-group">                                     
        @if(count($users) === 0)
        <a href="{{ URL::route('padron.create', $employee->id) }}" type="submit" class="btn btn-success btn-sm" data-toggle="tooltip" rel="tooltip" data-placement="top" title="Confirmar votante">Confirmar</a>

        @else
            <a type="submit" class="btn btn-success btn-sm" data-toggle="tooltip" rel="tooltip" data-placement="top" disabled="disabled" title="Confirmar votante">Confirmar</a>

        @endif
    </div>
</td>

用简单的英语来说,您的逻辑是,如果没有用户,则显示该按钮,否则禁用该按钮。看起来你有 users,因此 if 总是失败,而 else 开始发挥作用。

如果您想禁用单个按钮的 'confirmar',您将不得不在某处使用用户 ID。像

@if($employee->id == ...) 
// depending on your logic
  1. 在控制器函数中 return 声明成功后返回一个值
  2. 并使用此
  3. 检查您的视图中是否存在该值