Laravel 6:使用变量和消息重定向 - 不起作用

Posted

技术标签:

【中文标题】Laravel 6:使用变量和消息重定向 - 不起作用【英文标题】:Laravel 6: redirect with variables AND message - not working 【发布时间】:2020-05-21 06:53:36 【问题描述】:

我正在尝试使用我的主控制器中的函数重定向变量和消息。 消息码没问题,一般用->with('abo', 'messagetext')显示。 问题是不是两种类型都被重定向,只有变量(没有消息):(


目标是重定向以下变量:suchString、userId、suche
public function subscribe(Request $request)
    
        $suchString = $request->input('suchString');
        $userId = $request->input('userId');
        Subscribe::create([
            'abo_string' => $suchString,
            'userid' => $userId
        ]);
            $suche = Document::where( 'title', 'LIKE', '%' . $suchString . '%' )
                                ->orWhere( 'category', 'LIKE', '%' . $suchString . '%' )
                                ->orWhere( 'description', 'LIKE', '%' . $suchString . '%' )
                                ->get();
        $users = User::all();
        return view('pages.search')->with('abo', 'messagetext');
     

【问题讨论】:

【参考方案1】:

您应该尝试compact() 方法来重定向您的变量。

 session()->flash( 'abo', 'Your message' );
 return view('pages.search', compact('suchString', 'userId', 'suche' ));

【讨论】:

感谢您的快速回复 :) 是否也可以添加消息?我正在尝试返回两个 @Dodo43 如果你想传递消息然后在compact()方法中添加一个新变量 @Dodo43 从逻辑上讲,如果您需要传递两个以上的变量,后一种方法可能会变得相当笨拙。您可以使用 phpcompact() 函数节省一些输入: 我也尝试过你的方法,但是在调用视图之后没有显示示例消息:/但也没有错误消息...... @Dodo43 您如何将“消息文本”检索到视图中?还有其他变量是否可以访问?喜欢dd($suchString)。感谢您尝试我的解决方案。【参考方案2】:

您返回的是 view() 而不是 redirect()

您也可以随意链接with()

    return redirect()->route('pages.search')
        ->with('abo', 'messagetext')
        ->with('suche', $suche)
        ->with('userId', $userId)
        ->with('suchString', $suchString);

很可能是你想要的。

这些都将在您的下一个页面视图的会话中。

【讨论】:

以某种方式显示消息,但不显示变量。可能是它的输入,我不知道:/

以上是关于Laravel 6:使用变量和消息重定向 - 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 使用变量重定向到树枝页面

Laravel 5.2重定向成功消息

Laravel 8 Socialite Facebook 重定向不起作用/返回 null

Laravel 5 - 发布路由上的 htaccess HTTPS 重定向不起作用。

Laravel 5.2 & AJAX - 重定向后显示成功消息

Laravel 模态表单重定向返回,输入不起作用