【问题标题】:how to approve and disapprove campaign in laravel?如何在 laravel 中批准和不批准活动?
【发布时间】:2018-03-26 07:08:09
【问题描述】:

我在管理端有广告系列列表。 我要批准和不批准广告系列。

我的广告系列架构:

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

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

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 您必须对呼叫控制器方法的按钮进行操作...
  • 我什么都不尝试..bcz 我不知道该怎么做..@SmitRaval
  • 我看到了代码......但我不明白它实际上是如何工作的......@PPL
  • 操作按钮中是否有任何链接...?

标签: php mysql database laravel-5


【解决方案1】:

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

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

应该是:

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

【讨论】:

    【解决方案2】:

    尝试像下面这样使用 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
       }
      });
    });
    

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多