You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中redirect()->back()->with()传多值到Blade仅首个生效如何解决

问题原因与修复方法

1. 传参写法错误

Laravel的redirect()->with()方法不支持直接传入多组键值对作为独立参数,原生仅支持两种传参方式:

  • 单次调用仅传一组键值对,多次链式调用with
  • 单次调用传入一个完整的关联数组作为参数
    你原写法仅会识别第一组fee的键值对,后续参数全部被忽略,这是其他值丢失的核心原因。

2. 调试代码未删除

你代码中写的dd()函数执行后会直接终止程序运行,后续的重定向逻辑根本不会执行,测试时需删除或注释掉所有dd代码。


正确代码示例

修改控制器中的重定向代码即可,两种写法二选一:

写法1:链式调用with
return redirect()->back()
    ->with('fee', $fee)
    ->with('vat', $vat)
    ->with('Transaction_vat', $Transaction_vat);
写法2:传入关联数组(更推荐,代码更简洁)
return redirect()->back()->with([
    'fee' => $fee,
    'vat' => $vat,
    'Transaction_vat' => $Transaction_vat
]);

额外逻辑优化提示

你当前的区间判断逻辑存在问题:所有or条件只要第一个满足就会触发对应分支,比如$value > 0 or $value > 10000等价于只要$value>0就走第一个分支,后续的elseif永远不会执行。建议将or改为&&,并补充上限判断,示例:

if ($value > 0 && $value <= 10000) {
    // 对应区间逻辑
} elseif ($value > 10000 && $value <= 100000) {
    // 对应区间逻辑
}

修改后Blade模板的取值代码不需要变动,直接用session('键名')即可正常获取所有值。

内容的提问来源于stack exchange,提问作者Dominic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 14:18:03