laravel批准并拒绝用户作为管理员的请求

时间:2017-04-18 15:19:31

标签: laravel-5

正在开发一个应用程序,用户向管理员发送一个批准或拒绝的应用程序...用于存储此数据的字段具有布尔值0表示已接受1表示已拒绝,,, n by the la new la lavel所以这可能是一个错误的方法...任何人都有办法使用一个按钮将数据库中的值从0改为1,当被接受时为1到零被拒绝... av一直在搜索这个并且可以&#39找到一个很好的方法来做到这一点...善意协助

这是我的应用程序模型



//relates application_id and admin_id

public function approveApplications()
{
  return $this->belongsToMany('Martin\Models\Application','applications','application_id','admin_id');
}


public function approved() // returns all applications that are approved
{
  return $this->approveApplications()->wherePivot('approved',true)->get();
}




和我的管理模式



	public function application()
	{
		return $this->hasMany('Martin\Models\Application');
	}




我的迁移功能



  Schema::create('applications', function (Blueprint $table) {
          $table->increments('id');
          $table->integer('user_id')->unsigned()->nullable();
          $table->integer('admin_id')->unsigned()->nullable();
          $table->integer('application_id')->unsigned()->nullable();
          $table->string('acronym');
          $table->string('destination');
          $table->integer('Number_of_days_hired');
          $table->string('vehicle_registration_number');
          $table->timestamp('departure_date_and_time');
          $table->boolean('approved')->default(0);
          $table->timestamp("created_at")->useCurrent();
          $table->timestamp("updated_at")->useCurrent();
          $table->foreign('user_id')
          ->references('id')
          ->on('users')
          ->onDelete('cascade');
          $table->foreign('admin_id')
          ->references('id')
          ->on('admins')
          ->onDelete('cascade');
          });
    }




我想在应用程序中实现这一目标

approving and disapproving

1 个答案:

答案 0 :(得分:0)

你太过于复杂了这个问题:) 最好的方法是在路径文件中添加两个单独的路径:

Route::post('application/approve/{id}', 'YourController@postApprove');
Route::post('application/reject/{id}', 'YourController@postReject');

现在,您将批准和拒绝按钮链接到上面的路线,并且您需要确保表单按钮将链接到这两个路线并发送您要批准/拒绝的应用程序的ID。 在您的控制器中,您将修改已批准的应用程序'字段 - >例如:

public function postApprove($id) {
    $application = Application::where('id', '=', e($id))->first();
    if($application)
    {
        $application->approved = 1;
        $application->save();
        //return a view or whatever you want tto do after
    }
}

对于拒绝方法执行类似操作,但您将设置"已批准"字段为false或0。