Php Larvel:添加make:auth后,我的登录/注册页面中出现错误

Php Larvel:添加make:auth后,我的登录/注册页面中出现错误,php,laravel,laravel-blade,Php,Laravel,Laravel Blade,我制作了一个拉威尔新闻网站。我尝试通过make:auth添加auth,但当我单击“登录”或“注册”按钮时,会出现如下错误: 我不知道它是从哪里来的。它指的是我的控制器中的一个函数,但我不知道为什么,因为它根本不需要这个函数。我在添加授权时通常没有错误。有没有人遇到过同样的问题,或者有人知道如何解决 app.blade.php <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head>

我制作了一个拉威尔新闻网站。我尝试通过make:auth添加auth,但当我单击“登录”或“注册”按钮时,会出现如下错误:

我不知道它是从哪里来的。它指的是我的控制器中的一个函数,但我不知道为什么,因为它根本不需要这个函数。我在添加授权时通常没有错误。有没有人遇到过同样的问题,或者有人知道如何解决

app.blade.php

<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- CSRF Token -->
    <meta name="csrf-token" content="{{ csrf_token() }}">

    <link rel="stylesheet" href="{{asset('css/app.css')}}">
    <link rel="stylesheet" href="{{asset('css/custom.css')}}">
    <link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>        
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
    <title>{{config('app.name', 'News')}}</title>

</head>
<body>
    @include('inc.navbar')
    @include('inc.messages')
    @yield('content')
    @include('inc.footer')
</body>
<header>
    <div class="container-fluid">
        <div class="row headercontent">
            <div class="col-md-3 offset-md-1 borderbottom">

            </div>
            <div class="col-md-4 borderbottom header-logo  bg-white">
                <a href="{{url('/')}}"><img class="high-pic"
                                            src="https://upload.wikimedia.org/wikipedia/commons/7/77/The_New_York_Times_logo.png"
                                            style="width: 100%;"></a>
            </div>

            <div class="col-md-3 search">
                <span class="fas fa-search"></span>
                <input type="text" class="borderbottom backgroundtextinput"
                       style="position:absolute; bottom:0; width:80%;outline:none;">

            </div>

        </div>
        <div class="row logo-NY">
            <div class="col-md-6 offset-md-3 borderbottom header-logo bg-white">
                <div style="z-index:3000;"></div>
                <a href="{{url('/')}}"><img class="high-pic"
                                            src="https://upload.wikimedia.org/wikipedia/commons/7/77/The_New_York_Times_logo.png"
                                            style="width: 100%;"></a>
            </div>
            <div class="col-md-3">
                <div id="clickme" class="d-lg-none">
                    <i class="fas fa-arrow-down"></i>
                </div>
            </div>
            <div class="col-md-3">

            </div>
        </div>
    </div>

    <div class="desktop-nav">
        <nav class="navbar navbar-expand-lg navbar-light font">

            <div class="container">

                <div class="" id="navbarSupportedContent" style="margin:auto;">
                    <div class="navbar-flex fontcolorblack">
                        @foreach($categories_navbar as $item)
                            <div class="nav-item">
                                <a class="nav-link bold" href="{{url($item->naam)}}">{{ucfirst($item->naam)}}</a>
                            </div>
                        @endforeach
                        @guest
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
                        </li>
                        @if (Route::has('register'))
                            <li class="nav-item">
                                <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
                            </li>
                        @endif
                    @else
                        <li class="nav-item dropdown">
                            <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                                {{ Auth::user()->name }} <span class="caret"></span>
                            </a>

                            <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                                <a class="dropdown-item" href="{{ route('logout') }}"
                                   onclick="event.preventDefault();
                                                 document.getElementById('logout-form').submit();">
                                    {{ __('Logout') }}
                                </a>

                                <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
                                    @csrf
                                </form>
                            </div>
                        </li>
                    @endguest
                    </div>

                </div>
            </div>
        </nav>
    </div>

    <div id="mobile-nav" style="width: 100%; display: none; background-color: #2e3192; color: #fff;">
        <div id="closeme" class="d-lg-none">
            <i class="fas fa-times fa-2x"></i>
        </div>
        <nav class="navbar navbar-light bg-light fixed-top d-lg-none" style="z-index:999;">
            <ul class="navbar-nav mr-auto">
                <a href="{{url('/')}}"><img class="high-pic"
                     src="https://upload.wikimedia.org/wikipedia/commons/7/77/The_New_York_Times_logo.png"
                     style="width: 100%;"></a>
                @foreach($categories_navbar as $item)
                    <div class="nav-item">
                        <a class="nav-link bold" href="{{url($item->naam)}}">{{ucfirst($item->naam)}}</a>
                    </div>
                @endforeach

                <form class="form-inline my-2 my-lg-0" id="search_mobile" action="search" method="get">
                    <input class="form-control mr-sm-2" name="search" type="search" placeholder="Search..."
                           aria-label="Search">
                </form>

                @guest
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
                        </li>
                        @if (Route::has('register'))
                            <li class="nav-item">
                                <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
                            </li>
                        @endif
                    @else
                        <li class="nav-item dropdown">
                            <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                                {{ Auth::user()->name }} <span class="caret"></span>
                            </a>

                            <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                                <a class="dropdown-item" href="{{ route('logout') }}"
                                   onclick="event.preventDefault();
                                                 document.getElementById('logout-form').submit();">
                                    {{ __('Logout') }}
                                </a>

                                <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
                                    @csrf
                                </form>
                            </div>
                        </li>
                    @endguest
            </ul>
        </nav>
    </div>

</header>

{{config('app.name','News')}
@包括('inc.navbar')
@包括('inc.messages')
@产量(‘含量’)
@包括('inc.footer')

navbar.blade.php

<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- CSRF Token -->
    <meta name="csrf-token" content="{{ csrf_token() }}">

    <link rel="stylesheet" href="{{asset('css/app.css')}}">
    <link rel="stylesheet" href="{{asset('css/custom.css')}}">
    <link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>        
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
    <title>{{config('app.name', 'News')}}</title>

</head>
<body>
    @include('inc.navbar')
    @include('inc.messages')
    @yield('content')
    @include('inc.footer')
</body>
<header>
    <div class="container-fluid">
        <div class="row headercontent">
            <div class="col-md-3 offset-md-1 borderbottom">

            </div>
            <div class="col-md-4 borderbottom header-logo  bg-white">
                <a href="{{url('/')}}"><img class="high-pic"
                                            src="https://upload.wikimedia.org/wikipedia/commons/7/77/The_New_York_Times_logo.png"
                                            style="width: 100%;"></a>
            </div>

            <div class="col-md-3 search">
                <span class="fas fa-search"></span>
                <input type="text" class="borderbottom backgroundtextinput"
                       style="position:absolute; bottom:0; width:80%;outline:none;">

            </div>

        </div>
        <div class="row logo-NY">
            <div class="col-md-6 offset-md-3 borderbottom header-logo bg-white">
                <div style="z-index:3000;"></div>
                <a href="{{url('/')}}"><img class="high-pic"
                                            src="https://upload.wikimedia.org/wikipedia/commons/7/77/The_New_York_Times_logo.png"
                                            style="width: 100%;"></a>
            </div>
            <div class="col-md-3">
                <div id="clickme" class="d-lg-none">
                    <i class="fas fa-arrow-down"></i>
                </div>
            </div>
            <div class="col-md-3">

            </div>
        </div>
    </div>

    <div class="desktop-nav">
        <nav class="navbar navbar-expand-lg navbar-light font">

            <div class="container">

                <div class="" id="navbarSupportedContent" style="margin:auto;">
                    <div class="navbar-flex fontcolorblack">
                        @foreach($categories_navbar as $item)
                            <div class="nav-item">
                                <a class="nav-link bold" href="{{url($item->naam)}}">{{ucfirst($item->naam)}}</a>
                            </div>
                        @endforeach
                        @guest
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
                        </li>
                        @if (Route::has('register'))
                            <li class="nav-item">
                                <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
                            </li>
                        @endif
                    @else
                        <li class="nav-item dropdown">
                            <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                                {{ Auth::user()->name }} <span class="caret"></span>
                            </a>

                            <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                                <a class="dropdown-item" href="{{ route('logout') }}"
                                   onclick="event.preventDefault();
                                                 document.getElementById('logout-form').submit();">
                                    {{ __('Logout') }}
                                </a>

                                <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
                                    @csrf
                                </form>
                            </div>
                        </li>
                    @endguest
                    </div>

                </div>
            </div>
        </nav>
    </div>

    <div id="mobile-nav" style="width: 100%; display: none; background-color: #2e3192; color: #fff;">
        <div id="closeme" class="d-lg-none">
            <i class="fas fa-times fa-2x"></i>
        </div>
        <nav class="navbar navbar-light bg-light fixed-top d-lg-none" style="z-index:999;">
            <ul class="navbar-nav mr-auto">
                <a href="{{url('/')}}"><img class="high-pic"
                     src="https://upload.wikimedia.org/wikipedia/commons/7/77/The_New_York_Times_logo.png"
                     style="width: 100%;"></a>
                @foreach($categories_navbar as $item)
                    <div class="nav-item">
                        <a class="nav-link bold" href="{{url($item->naam)}}">{{ucfirst($item->naam)}}</a>
                    </div>
                @endforeach

                <form class="form-inline my-2 my-lg-0" id="search_mobile" action="search" method="get">
                    <input class="form-control mr-sm-2" name="search" type="search" placeholder="Search..."
                           aria-label="Search">
                </form>

                @guest
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
                        </li>
                        @if (Route::has('register'))
                            <li class="nav-item">
                                <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
                            </li>
                        @endif
                    @else
                        <li class="nav-item dropdown">
                            <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                                {{ Auth::user()->name }} <span class="caret"></span>
                            </a>

                            <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                                <a class="dropdown-item" href="{{ route('logout') }}"
                                   onclick="event.preventDefault();
                                                 document.getElementById('logout-form').submit();">
                                    {{ __('Logout') }}
                                </a>

                                <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
                                    @csrf
                                </form>
                            </div>
                        </li>
                    @endguest
            </ul>
        </nav>
    </div>

</header>

@foreach($categories\u导航栏作为$item)
@endforeach
@客人
  • @if(Route::has('register'))
  • @恩迪夫 @否则
  • @csrf
  • @终客
      @foreach($categories\u导航栏作为$item) @endforeach @客人
    • @if(Route::has('register'))
    • @恩迪夫 @否则
    • @csrf
    • @终客

    在我看来,问题实际上在上面这一行

    $category = Categorie::where('naam',$category)->first();
    

    此行不返回任何数据。尝试将
    dd($category)
    放在此行之后,以检查您的查询中是否确实存在类别

    可能您正在尝试访问不存在的类别,此页面应返回404错误

    $category=category::where('naam',$category)->first()之后

    添加行

    abort_if(is_null($category), 404);
    

    它将返回404错误,这是必须的。

    尝试这样调试

    public function oversight($category){
        try{
            $getCategory = Categorie::where('naam',$category)->first();
            if($getCategory !== null){
                dd("I GOT SELECTED CATEGORY ROW");
            }else{
                dd("I THINK THERE IS NO DATA AVAIALBLE BASED ON WHERE Condition");
            }
            dd("ALL FINE I AM GOING BACK TO VIEW WITH DATA");
        }catch(\Exception $e){
            dd("I GOT THIS ERROR : ".$e->getMessage());
        }
    }
    

    我相信您可以通过此解决问题。

    正如纳比尔·法汉所说,问题在于:

    $category = Categorie::where('naam',$category)->first();
    
    您似乎没有从分类表中得到任何结果。第一个问题可能是该表不存在,请注意,Laravel搜索表“Categories”(搜索模型名+s)。如果没有返回数据,您可能会发现错误,如Nevermind23建议的那样

    if(isset($category->id) && $category->id != ""){
    $artikels = Artikel::where('category_id', $category->id)->get()
    }
    

    请注意,尽量避免使用您的母语编程。非荷兰语使用者更难理解您的代码。

    有多种解决方案:

  • 解决方案:
  • 在这种情况下,如果没有具有相应名称的类别,$category将为null,if语句中的代码将不会执行

  • 解决方案:
  • 在这种情况下,如果未找到该类别,将抛出
    illumb\Database\elount\ModelNotFoundException
    。如果未捕获异常,则会自动将404 HTTP响应发送回用户

  • 解决方案:路由模型绑定-请参阅
  • 在这种情况下,如果没有具有相应名称/id的类别,则会自动将404http响应发送回用户


    另外,我建议您在
    category
    Artikel
    模型之间创建一个(很可能是一个域)。它会让你的生活变得更简单:)

    谢谢你的回答,顺便说一句,它返回“null”。你知道我必须在哪里搜索要更改的内容吗?你需要检查你的请求参数和路由。这是两个同名的变量($category)。一个作为变量传递。(我指的是监督($category))。。。同样,在查询之后,您将把结果放入$category变量中。这是一个非常糟糕的做法。您是否在身份验证文件中做了任何更改?谢谢您的解决方案。关于这张便条,我知道不是我自己写的,我给了我的同事同样的批评谢谢这个解决方案,它会转到404 not found,但它仍然不会转到auth login页面。我在web.php中添加了一个新的/login和/register路径,现在一切都正常了!
    public function oversight(Categorie $category) {
        return view('pages.oversight', ['category'=>$category]);
    }