Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel,将令牌从控制器传递到视图_Php_Laravel - Fatal编程技术网

Php Laravel,将令牌从控制器传递到视图

Php Laravel,将令牌从控制器传递到视图,php,laravel,Php,Laravel,我不明白为什么这里不能正常工作。在这个控制器中,我访问了一个API端点,如果成功,它将返回一个令牌数组。在这里,我将这些令牌中的一个设置为accessToken变量,并尝试将其传递给视图,以便在那里的另一个调用中使用 Controller.php $initialLogin = $authService->initialLogin($newPhone,$request->temp_password,$request->email,$request->password_co

我不明白为什么这里不能正常工作。在这个控制器中,我访问了一个API端点,如果成功,它将返回一个令牌数组。在这里,我将这些令牌中的一个设置为accessToken变量,并尝试将其传递给视图,以便在那里的另一个调用中使用

Controller.php

$initialLogin = $authService->initialLogin($newPhone,$request->temp_password,$request->email,$request->password_confirmation);

//this dump and die successfully dumps the token array, so I know I'm getting my tokens
dd($initialLogin);

//Here I'm setting the variable to one of the specific tokens
$accessToken = $initialLogin->auth_access_token;

//Now I'm redirecting to a view, which I'm successfully shown
return redirect(route('auth.phone'))->with('accessToken',$accessToken);
当这个过程完成后,在测试了dump和die(它确实显示了我的令牌)之后,它成功地将我重定向到我的视图。这里的问题是,在视图上转储变量时,它显示null

view.php

<?php dd($accessToken)?>


这是怎么回事?我可以验证在我的控制器中转储
$initialLogin
是否显示令牌,我可以验证
$accessToken
是否设置为我需要的特定令牌,为什么它没有正确传递?

IIRC,在使用
时创建了会话变量,因此,进行以下更改:

变,

return redirect(route('auth.phone'))->with('accessToken',$accessToken);


这样,实际上就是将变量传递给视图或者,如果您想继续将
一起使用,则使用会话帮助程序(
session('accessToken')
)访问令牌。

当您使用with帮助程序重定向时,laravel会在用户会话中设置变量,而不是在视图中设置变量

试试这个

@if(session('accessToken'))
    {{ session('accessToken') }}
@endif

您的令牌位于
会话::
,它不是直接引用的,而是闪烁的。您可以使用
{{session()->get('accessToken')}}在blade中检索它
谢谢,我想我感觉更好,可以像您所说的那样将它传递给视图,这样我就可以在视图中继续使用它作为隐藏对象input@TomN. 如果它也在会话中,您仍然可以将其用作隐藏输入。不过,不管哪种方法都可以,我想这是首选。一个简单的问题:我正在使用您告诉我要将其更改为的选项,但在视图中,我无法使用``value=“{{$accessToken}}}}”将其设置为隐藏输入,但它会显示为URL参数,逻辑是合理的,但由于我进行了更改,我在会话中不再看到它,只有URLparam@TomN. 您希望它在会话中还是作为查询字符串?
@if(session('accessToken'))
    {{ session('accessToken') }}
@endif