Laravel控制器无法返回会话变量
P粉998100648
P粉998100648 2023-08-13 20:34:28
[PHP讨论组]

我正在学习Laravel,我试图将成功消息放入会话中,并在视图中显示,但似乎没有起作用

这是我在视图部分的代码

<div class="col-sm-12 col-xl-12">
            @if (session()->has('msg'))
                <h5> {{ session('msg') }}</h5>
            @endif

这是我用于添加新内容并将消息放入会话中的控制器函数

public function store(CatalogRequest $request)
{

    $status=$this->catalog->insert([
        'name' => $request->name,
        'status' => $request->status
    ]);

    if($status){
        $msg = "添加目录成功";
        $color = 'success';
    }else{
        $msg = "添加目录失败";
        $color = 'red';
    }

    session()->put('msg',$msg);

    return redirect('catalog');
}

P粉998100648
P粉998100648

全部回复(1)
P粉604848588

尝试这个

session()->flash('msg', ['text' => $msg, 'color' => $color]);

在blade模板中

<div class="col-sm-12 col-xl-12">
    @if (session()->has('msg'))
        <h5 style="color: {{ session('msg.color') }}">{{session('msg.text') }}</h5>
    @endif
</div>

在这段代码中,我确保包含了正确的导入,使用了正确的方法进行数据插入,并使用了flash()方法而不是put()方法将消息临时存储在会话中。此外,消息的颜色也存储在会话中,以便更好地控制样式。

另外,你可以尝试使用WITH方法绑定它。

return back()->with('msg', 'Your message');

你可以使用redirect() redirect()->route()等方法。 此外,请仔细阅读文档,你将从中获得很多想法。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号