【问题标题】:how to send data from controller to include/header blade file but return another blade file in laravel如何将数据从控制器发送到包含/标题刀片文件但在 laravel 中返​​回另一个刀片文件
【发布时间】:2020-07-04 22:23:31
【问题描述】:

我想在视图中包含将我的数据从我的控制器发送到我的header.blade.php 文件 但我想返回 laravel 中的另一个视图,如下所述:-

public function handleProviderCallback()
{
    $user = Socialite::driver('google')->stateless()->user(); 
    $finduser = User::where('google_id', $user->id)->first();

    if($finduser) {
        Auth::login($finduser);
        $google_avatar = $user->getAvatar();
        view('pages.home',['google_avatar', $google_avatar]);  
        return redirect()->route('home',);      
    }
}

【问题讨论】:

  • fyi,view('pages.home',['google_avatar', $google_avatar]); 将无效,之后您将 redirect() 转到另一个页面。此外,return redirect()->route('home',); 会因为其中的逗号而引发错误。

标签: php laravel laravel-5 laravel-blade


【解决方案1】:

extending a layout 是最干净的方式。

来自文档:

<!-- Stored in resources/views/layouts/app.blade.php -->

<html>
    <head>
        <title>App Name - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
            This is the master sidebar.
        @show

        <div class="container">
            @yield('content')
        </div>
    </body>
</html>

孩子:

@extends('layouts.app')

@section('title', 'Page Title')

@section('sidebar')
    @parent

    <p>This is appended to the master sidebar.</p>
@endsection

@section('content')
    <p>This is my body content.</p>
@endsection

通过从控制器返回“子”视图,数据也将在标题中可用。如果你在@extends 声明中传递它

【讨论】:

  • 是的,但我只想在扩展('layout.pp')中的标题中发送数据
  • @NavjotSingh 你可以这样传递数据:@extends('layouts.app', ['x' =&gt; $y])我会更清楚地补充一下
猜你喜欢
  • 2013-11-22
  • 2016-06-25
  • 2014-02-07
  • 2018-09-03
  • 1970-01-01
  • 2017-05-13
  • 2020-05-19
  • 2014-12-27
  • 2021-04-17
相关资源
最近更新 更多