如何批准和反对laravel的竞选活动?

时间:2018-03-26 07:08:10

标签: php mysql database laravel-5

我在管理员方面有广告系列列表。 我想批准和反对竞选活动。

enter image description here

我的广告系列架构:

public function up()
    {
        Schema::create('campaign', function (Blueprint $table) {
            $table->engine='InnoDB';

            $table->increments('id');
            $table->integer('users_id')->unsigned();
            $table->foreign('users_id')->references('id')->on('users')
                    ->onDelete('cascade')->onUpdate('cascade');
            $table->string('campaign_name');
            $table->float('campaign_goal',8,2);
            $table->string('discription',400);
            $table->string('image');
            $table->string('category');
            $table->date('start_date');
            $table->date('end_date');
            $table->float('total_fund',8,2);
            $table->boolean('is_approved');
            $table->softDeletes();
        });
    }  

如何批准和拒绝广告系列?

2 个答案:

答案 0 :(得分:0)

您必须在路线上放置或定义分段分隔符。 /=

Route::post('/campaigns/approve{id}','CampaignController@postApprove');

应该是:

  Route::post('/campaigns/approve/{id}','CampaignController@postApprove');

答案 1 :(得分:0)

尝试使用如下所示的AJAX请求

在控制器中

public function postUpdateApprovalStatus() {
  $campaign = Campaign::find((int)$request->input('id'));
  $campaign->is_approved = $request->input('approval_status');
  $campaign->save();
  return ['status'=> 200, 'message'=> "Campaign approval status updated successfully'];
}

在视图中

data-campaign-id={campaign-id}属性添加到每行的批准和拒绝按钮中,并为两个按钮添加类名approval

添加data-status="true"以获取批准按钮,并将data-status="false"添加到拒批按钮

然后

使用approval班级名称

添加点击事件监听器
$('.approval').on('click', function(e){
  e.preventDefault();
  $.ajax({
    url: '<hostname>/<controller-name>/update-approval-status',
    method: 'POST',
    data: {"id": $(this).data('campaign-id'), "approval_status": $(this).data('status')},
   datatype: 'application/json',
   success: function(response) {
     //display message here using response.message to appending to some div above the table
   }
  });
});