亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

簡化用于其他控制器的代碼

簡化用于其他控制器的代碼

PHP
一只斗牛犬 2021-06-28 17:57:30
是否可以簡化它以用于各種控制器方法?$eventId = request()->route('event');$event = Event::where('id', $eventId)->first();if($event->finish == 0) {    return $content        ->header(__('Timing'))        ->description(__('List'))        ->body($this->grid());}else {    return $content            ->header(__('Start list'))            ->description(__('List'))            ->body(view('admin.events.finished'));}當完成等于 0 時,唯一改變的是標題、描述和正文,其他都是相同的。
查看完整描述

2 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

您可以將要點保存在模型中,然后在需要時調用它。


public function event ($eventId){

   $event = Event::where('id', $eventId)->first();


   if($event->finish == 0) {

     $outcome = $content ->header(__('Timing')) 

          ->description(__('List')) ->body($this->grid()); 


  } else { 

    $outcome = $content ->header(__('Start list')) 

            ->description(__('List'))

             ->body(view('admin.events.finished')); 

  }


   return $outcome;

  }


查看完整回答
反對 回復 2021-07-02
?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

您的控制器中沒有太多邏輯,所以還不錯。但是是的,你可以。我注意到的幾件事是$event->finish == 0我會在你的模型上創建一個范圍作為第一件事


public function isFinished()

{

    return $this->finish == 0;

}

你究竟是如何獲得 EventId 的?我想它是通過參數傳遞的?那么您應該能夠將其作為依賴項獲取嗎?


public function YourcontrollerFunction(Request $request, $eventId)

{

    //Either you get the request from a parameter or the $request->event_id

}

所以一個小的重構總共看起來像這樣:


public function YourcontrollerFunction(Request $request, $eventId)

{

    $event = Event::findOrFail($eventId);

    if($event->isFinished()) {

        return $content

           ->header(__('Timing'))

           ->description(__('List'))

           ->body($this->grid());

    }

//No need for the else.

   return $content

     ->header(__('Start list'))

     ->description(__('List'))

     ->body(view('admin.events.finished'));

}

如果響應被大量使用,您可以創建一個 Response 類,該類也被存儲,但在這里看不到原因。


查看完整回答
反對 回復 2021-07-02
  • 2 回答
  • 0 關注
  • 164 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號