2017-10-27 1 views
0

Ich verwendete make: Auth-Befehl für die Authentifizierung. Aber wenn ich "/ home" URL öffne, gibt es mir diesen Fehler. Ich weiß nicht, was das ist und wie ich das beheben kann.Laravel 5.5 Versuch, Eigenschaft von nicht Objekt zu erhalten - nach make: auth Befehl

Full Error: Trying to get property of non-object (View: /home/vagrant/www/blog/resources/views/front/pages/single.blade.php)

(Ich benutze single.blade für meine Beiträge zeigen)

Routen:

Auth::routes(); 
Route::get('/home', '[email protected]')->name('home'); 
// also here is my single route 
Route::get('/{slug}', '[email protected]')->name('post_slug'); 

Single.blade.php

@extends('front.master') 
@section('content') 
    <div class="container"> 
     <div class="row"> 
      <div class="col-md-9"> 

       <div class="blog-post"> 
        <h2 class="blog-post-title">{{$post->title}}</h2> 
        <p class="blog-post-meta">{{$post->created_at}} </p> 
        <hr/> 
        <div class="blog-main"> 
         {{$post->body}} 
        </div> 
       </div> 

      </div> 

     </div> 
@endsection 

BlogController - GetSingle

public function getSingle($slug){ 
     $post = Post::where('slug', $slug)->first(); 
     return view('front.pages.single')->with('post', $post); 
    } 

Front.master Blade-Datei (einfaches Bootstrap-Beispiel)

<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 
    <meta name="description" content=""> 
    <meta name="author" content=""> 
    <link rel="icon" href="../../../../favicon.ico"> 

    <title>Laravel 5 Blog Example</title> 

    <!-- Bootstrap core CSS --> 
    <link href="{{asset('/css/bootstrap.min.css')}}" rel="stylesheet"> 

    <!-- Custom styles for this template --> 
    <link href="{{asset('/css/blog.css')}}" rel="stylesheet"> 
</head> 
<body> 

<div class="blog-masthead"> 
    <div class="container"> 
     <nav class="nav"> 
      <a class="{{Request::is('/') ? "nav-link active" : "nav-link"}}" href="{{route('home')}}">Anasayfa</a> 
      <a class="{{Request::is('about') ? "nav-link active" : "nav-link"}}" href="{{route('about')}}">Aboust Us</a> 
      <a class="{{Request::is('contact') ? "nav-link active" : "nav-link"}}" href="{{route('contact')}}">Contact Us</a> 
      <a class="{{Request::is('home') ? "nav-link active" : "nav-link"}}" href="{{route('home')}}">Home</a> 
      <a class="nav-link" href="{{url('admin/panel')}}">Admin</a> 
     </nav> 
    </div> 
</div> 
@yield('content') 
<footer class="blog-footer"> 
    <p> 
     Yeni Bir Blog Denemesi | Laravel 5.5 <br> 
     <a href="#">Yukarı çık</a> 
    </p> 
</footer> 


<!-- Bootstrap core JavaScript 
================================================== --> 
<!-- Placed at the end of the document so the pages load faster --> 
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> 
<script>window.jQuery || document.write('<script src="../../../../assets/js/vendor/jquery.min.js"><\/script>')</script> 
<script src="../../../../assets/js/vendor/popper.min.js"></script> 
<script src="../../../../dist/js/bootstrap.min.js"></script> 
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> 
<script src="../../../../assets/js/ie10-viewport-bug-workaround.js"></script> 

</html> 

Wo Fehler, den ich?

+0

Sie müssen uns zeigen Inhalte **/home/Vagabund/www/blog /resources/views/front/pages/single.blade.php**, Ich weiß nicht, der Fehler, den Sie erhalten, ist klar, wenn Sie keine Suche nach '->' haben, ist ein Objekt während der Ausführungszeit null. – Kyslik

+0

@Kyslik, bearbeitet und hinzugefügt single.blade.php –

+0

Bitte zeigen Sie uns die 'getSingle' Methode in Ihrem' BlogController'. Sie können auch versuchen, den Dump ('dd') Ihrer $ post-Variable zu löschen, um zu sehen, was dort drin ist. – mrHooty

Antwort

0

Versuchen zu verwenden, um dies in Ihrem Single.blade.php:

@extends('front.master') 
@section('content') 
    @if(count($post) > 0) 
    <div class="container"> 
     <div class="row"> 
      <div class="col-md-9"> 

       <div class="blog-post"> 
        <h2 class="blog-post-title">{{$post->title}}</h2> 
        <p class="blog-post-meta">{{$post->created_at}} </p> 
        <hr/> 
        <div class="blog-main"> 
         {{$post->body}} 
        </div> 
       </div> 

      </div> 

     </div> 
    </div> 
    @else 
    <h3>No post yet.</h3> 
    @endif 
@endsection 
+0

Wenn dies nicht funktioniert, fügen Sie bitte den Code Ihrer 'index()' Methode in Ihren HomeController ein. – Jonjie

0
Route::get('/home', '[email protected]')->name('home'); 

Verwenden unten in Fräsdatei

Route::get('/', '[email protected]')->name('home'); 
<a class="{{Request::is('/') ? "nav-link active" : "nav-link"}}" href="{!! route('home') !!}">Anasayfa</a> 
Verwandte Themen