【问题标题】:saving data foreach passed value outside using laravel使用 laravel 在外部保存数据 foreach 传递的值
【发布时间】:2018-11-22 22:20:24
【问题描述】:

您好,我的纳税年度有这个多项选择下拉列表,选择下拉列表中的数据是

2011-2012
2012-2013
2013-2014
2014-2015
2015-2016
2016-2017
2017-2018

当传递到 laravel 中的控制器时,选择下拉多个效果很好。现在我的问题是,当税收通过时,我为我的选择下拉列表添加了一个 foreach 循环,它工作正常。但是在保存时只保存了一个数据,因为保存功能在 foreach 之外。我将如何传递 foreach 数据然后保存在 foreach 循环之外。下面是我的代码

$taxes = $request->get('taxYear');

foreach($taxes as $key=>$tax) {
    $mulTax = $tax.",";     
}

exit;

$case = new Opp([
    'code'=>$uNum,
    'client_id'=>$cName_0,
    'contacts'=>$cName,
    'tax_year'=>$mulTax,
    'owner'=>$owner,
]);

$case->save();
$retId = $case->id;
Response::json(['success' => true,'id' => $retId], 200); 

Session::flash('caseCreated', 'Successfully created cases');
return redirect('cases/create');

【问题讨论】:

    标签: php laravel


    【解决方案1】:
        $taxes = $request->get('taxYear');
    
        $mulTax = '';
    
        foreach($taxes as $key=>$tax){
            $mulTax = $mulTax . $tax.",";
    
        }
    
        exit;
    
        $case = new Opp([
            'code'=>$uNum,
            'client_id'=>$cName_0,
            'contacts'=>$cName,
            'tax_year'=>$mulTax,
            'owner'=>$owner,
        ]);
    
        $case->save();
        $retId = $case->id;
        Response::json(['success' => true,'id' => $retId], 200); 
    
        Session::flash('caseCreated', 'Successfully created cases');
        return redirect('cases/create');
    

    【讨论】:

    • 您为什么更改已接受的答案?你说它适用于上述情况?
    【解决方案2】:

    这样使用

    使用连接运算符

    $mulTax = "";
    foreach($taxes as $key=>$tax){
                $mulTax .= $tax.",";
     }
    
    
            $case = new Opp([
                'code'=>$uNum,
                'client_id'=>$cName_0,
                'contacts'=>$cName,
                'tax_year'=> rtrim($mulTax,',');,   //remove last comma(,) from string 
                'owner'=>$owner,
            ]);
    

    【讨论】:

      【解决方案3】:

      你不需要 foreach 来代替,使用 implode 函数

      $taxes = $request->get('taxYear');
      $taxes = implode(",", $taxes);
      
      $case = new Opp([
          'code'=>$uNum,
          'client_id'=>$cName_0,
          'contacts'=>$cName,
          'tax_year'=>$taxes,
          'owner'=>$owner,
      ]);
      

      【讨论】:

        猜你喜欢
        • 2013-06-20
        • 2020-01-10
        • 1970-01-01
        • 2017-07-12
        • 2019-08-17
        • 2018-07-25
        • 2021-09-07
        • 1970-01-01
        • 2014-07-06
        相关资源
        最近更新 更多