正在开发一个应用程序,用户向管理员发送一个批准或拒绝的应用程序...用于存储此数据的字段具有布尔值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');
});
}

我想在应用程序中实现这一目标
答案 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。