Php 使用条件对多个表单按钮求值时出现重定向()问题

Php 使用条件对多个表单按钮求值时出现重定向()问题,php,laravel-5,Php,Laravel 5,因此,我构建了一个小条件来评估在我的表单中按下了哪个按钮(如图2所示)。这可以很好地工作,并触发正确的方法并将适当的数据写入数据库,但是我的重定向不起作用。它将()保存到数据库,然后简单地停留在指定为POST路由的页面上 我怀疑问题与我的条件和使用$this有关 以下是我的支票提交方法: public function check_submit() { if(!is_null(Input::get('add_to_invoice'))){ $this->invoic

因此,我构建了一个小条件来评估在我的表单中按下了哪个按钮(如图2所示)。这可以很好地工作,并触发正确的方法并将适当的数据写入数据库,但是我的重定向不起作用。它
将()
保存到数据库,然后简单地停留在指定为POST路由的页面上

我怀疑问题与我的条件和使用
$this
有关

以下是我的支票提交方法:

public function check_submit()
{
    if(!is_null(Input::get('add_to_invoice'))){
        $this->invoice_add_item();
    } elseif(!is_null(Input::get('complete_invoice'))) {
        $this->invoice_complete();
    }
}
以下是我目前正在测试的两种方法之一:

public function invoice_add_item()
{
    $input = Request::all();
    $invoice_items = new Expense;
    $invoice_items->item_id = $input['item_id'];
    $invoice_items->category_id = $input['category'];
    $invoice_items->price = $input['price'];
    $invoice_items->store_id = $input['store'];

    if(Input::has('business_expense'))
    {
        $invoice_items->business_expense = 1;
    }
    else{
        $invoice_items->business_expense = 0;
    }
    $invoice_items->save();
    return redirect('/');
}

也许在我的routes(web)文件中有更好的方法来处理这个问题,但我不确定如何处理这个问题。

您应该将
return
添加到
check_submit()
方法中。差不多

public function check_submit()
{
    if(!is_null(Input::get('add_to_invoice'))){
        return $this->invoice_add_item();
    } elseif(!is_null(Input::get('complete_invoice'))) {
        return $this->invoice_complete();
    }
}

更好的是,您可能应该在
invoice\u add\u item()
上返回一个布尔值,并在此基础上,将用户重定向到正确的位置(或者使用带有错误消息的某个会话flash变量)

非常棒的东西,工作非常完美,非常感谢!!那开始让我头疼了!祝你度过一个美妙的白天/夜晚!