2017-05-10 1 views
0

Ich habe einfache CMS mit Laravel und wenn ich versuche, Beiträge innerhalb einzelner Kategorie page.Using $ Kategorie-> Beiträge(), die ich in meiner Kategorie Modell zugeordnet, aber aus irgendeinem Grund ist es nicht definiert und ich erhalte die folgenden Fehler enter image description hereFehler beim Abrufen von Kategorie Beiträge

und hier ist mein Codes

Kategorie Model

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Category extends Model 
{ 
    protected $table = 'categories'; 

    public function posts() 
    { 
     return $this->belongsToMany('App\Posts')->withTimestamps(); 
    } 
} 

Beitrag Modell

 <?php 

    namespace App; 

    use Illuminate\Database\Eloquent\Model; 

    class Post extends Model 
    { 
     public function categories() 
     { 
      return $this->belongsToMany('App\Category')->withTimestamps(); 
     } 

     public function user() 
     { 
      return $this->belongsTo('App\User'); 
     } 

     public function meta() 
     { 
      return $this->hasMany('App\Postmeta'); 
     } 
    } 

**Category Controller** 
<?php 

namespace App\Http\Controllers\Frontend; 

use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 
use App\Category; 

class CategoriesController extends Controller 
{ 
    /** 
    * Display a listing of the resource. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function getIndex() 
    { 
     return view('frontend.categories.index')->withCategories(Category::orderBy('id', 'desc')->paginate(6)); 
    } 

    /** 
    * Display the specified resource. 
    * 
    * @param int $slug 
    * @return \Illuminate\Http\Response 
    */ 
    public function getSingle($slug) 
    { 
     $category = Category::where('slug', '=', $slug)->first(); 
     $posts  = ($category !== null) ? $category->posts() : array(); 

     return view('frontend.categories.single')->withCategory($category)->withPosts($posts); 
    } 
} 
+0

Sie haben gerade eine einfach zu buchstabieren Fehler gemacht. Dein Modellname ist 'Post', aber in deiner Kategorie versuchst du mit 'Posts' darauf zuzugreifen. – DestinatioN

Antwort

1

Ich denke, Sie einen Tippfehler gemacht.

Sie setzen Posts anstelle von Post.

$this->belongsToMany('App\Post')

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Category extends Model 
{ 
    protected $table = 'categories'; 

    public function posts() 
    { 
     return $this->belongsToMany('App\Post')->withTimestamps(); 
    } 
} 
+0

OMG das war es: D Ich war verrückt das Problem zu finden, denke ich, weil ich neu bei Laravel bin und Fehler nicht helfen wissen, welche Datei das Problem verursacht: -/ –

+0

@YasserMoussa Sie brauchen eine gute Idee jede normale Idee wird Ihnen sofort mitgeteilt, die Beiträge ist undefined und Sie sehen es in Sekunden –

+0

Ich stimme Ihnen @AmirBar, weil ich Notepadd ++ danke für den Rat –

Verwandte Themen