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

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

運行一個函數并發布請求 Laravel

運行一個函數并發布請求 Laravel

PHP
森林海 2023-04-21 16:40:23
Source 代碼 https://github.com/jslack2537/PHP-Calculator我在運行我的計算器應用程序的業務邏輯時遇到問題,同時將結果保存到我的數據庫中,它們獨立工作,只是不同時。我不確定我是否應該組合我的兩個控制器或這里的什么。關于組合它們或使流程按原樣工作的最佳方式的任何建議。    <?phpnamespace App\Http\Controllers;use App\Result;use Illuminate\Http\Request;class ResultController extends Controller{    public function postResultCreate(Request $request)    {   $result = 2;         $post = new Result([             'first_number' => $request->input('first'),             'second_number' => $request->input('second'),             'operator' => $request->input('operator'),             'sum' => $result         ]);        $post->save();        return redirect('/')->with('info', 'Answer: ' .$result);    }}我的第二個控制器具有基本的數學邏輯<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class CalculatorController extends Controller{    public function calculatefunc(Request $request)    {        $operator = $request->input('operator');        $first_number = $request->input('first');        $second_number = $request->input('second');        $result = 0;        if ($operator == "plus")        {            $result = $first_number + $second_number;        }        elseif($operator == "minus")        {            $result = $first_number - $second_number;        }        elseif($operator == "multiply")        {            $result = $first_number * $second_number;        }        elseif($operator == "divide")        {            $result = $first_number / $second_number;        }        else{            $result= 0;        }        return redirect('/')->with('info', 'Answer: ' .$result);    }}
查看完整描述

1 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

我認為您應該將這兩個課程結合起來。


嘗試這個:


class CalculatorController extends Controller

{

    public function calculatefunc(Request $request)

    {

        $operator = $request->input('operator');

        $first_number = $request->input('first');

        $second_number = $request->input('second');

        $result = $this->calculateByOperator($operator, $first_number, $second_number);


        return redirect('/')->with('info', 'Answer: ' . $result);

    }


    private function calculateByOperator($operator, $first_number, $second_number)

    {

        if ($operator == "plus") {

            $result = $first_number + $second_number;

        } elseif ($operator == "minus") {

            $result = $first_number - $second_number;

        } elseif ($operator == "multiply") {

            $result = $first_number * $second_number;

        } elseif ($operator == "divide") {

            $result = $first_number / $second_number;

        } else {

            $result = 0;

        }


        return $result;

    }


    public function postResultCreate(Request $request)

    {

        $first_number = $request->input('first');

        $second_number = $request->input('second');

        $operator = $request->input('operator');

        $result = $this->calculateByOperator($operator, $first_number, $second_number);

        $post = new Result([

            'first_number' => $first_number,

            'second_number' => $second_number,

            'operator' => $operator,

            'result' => $result

            // it should be result not sum because it will depend on your operator. you can also use operator here

        ]);

        $post->save();

        return redirect('/')->with('info', 'Answer: ' . $result);

    }

}


查看完整回答
反對 回復 2023-04-21
  • 1 回答
  • 0 關注
  • 120 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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