2016-07-27 11 views
1

Ich erhalte eine "BadMethodCallException in Macroable.php Zeile 81: Methode nowpublished existiert nicht."Laravel 5 BadMethodCallException

Ich habe einen Umfang Beiträge für heute nur erhalten:

public function scopeNowPublished($query) { 
    $query->whereBetween('published_at',[Carbon::today(),Carbon::now()])->orderBy('published_at','desc'); 
} 

Dies funktioniert gut in meinem Article:

public function index() { 


    $articles = Article::where('user_id', Auth::user()->id) 
         ->nowpublished() 
         ->get(); 

    $futurearticles = Article::where('user_id', Auth::user()->id) 
          ->unpublished() 
          ->get(); 

    $name = User::where('id', Auth::user()->id) 
       ->select('name') 
       ->get(); 

    $slug = str_slug($name, "-"); 

    //$articles = Article::where('user_id', Auth::user()->id)->orderBy('published_at','desc')->get(); 
    return view('backend.articles.index')->withArticles($articles)->withFuturearticles($futurearticles); 
} 

Ich versuche, dies in einem PagesController zu verwenden:

public function menue() { 
    $articles = Article::all()->nowpublished()->get(); 

    return view('pages.menues')->withArticles($articles); 
} 

Aber es wirft mir die Ausnahme oben. Was ist hier falsch?

+0

Versuchen Sie, diese 'Artikel :: nowPublished() -> get();' Wenn es nicht funktioniert versuchen auszuführen 'Komponist dumpautoload' – Maraboc

Antwort

0

ich denke, es

public function scopeNowPublished($query) 

oder

$articles = Article::all()->published()->get(); 
+0

Sorry: mein Fehler es ist ScopeNowPublished, ich habe es oben bearbeitet. Mit Ihrem Vorschlag funktioniert es immer noch nicht –

0

Ok sein sollte, so scheint es, Artikel :: alle() die Probleme verursacht. Ich muss den Umfang direkt danach verketten. Kann jemand erklären warum?

public function menue() { 
    $articles = Article::nowpublished()->get(); 

    return view('pages.menues')->withArticles($articles); 
} 
0

Return Abfrage in Scope-Funktion

public function scopeNowPublished($query) { return $query->whereBetween('published_at',[Carbon::today(),Carbon::now()])->orderBy('published_at','desc'); }