2017-01-02 4 views
0

Ich habe eine Web-Anwendung, die für einige Zeit gearbeitet hat, aber jetzt bin ich plötzlich den folgenden Fehler empfangen:Laravel gibt mir FatalThrowableError: call-Funktion natürlich memeber() auf null

Symfony\Component\Debug\Exception\FatalThrowableError: Call to a member function course() on null in /home/forge/default/releases/20161130183258/app/Http/Controllers/CoursePageController.php:37

, wenn ich das öffnen Speicherort der Datei Ich sehe den folgenden Code:

nicht sicher, warum ich einen Null-Fehler für $ natürlich bekommen würde. Ich bin der neue (und einzige) Admin für diese App und ich habe im Grunde das Laravel-Wissen eines Kleinkindes, so dass jede Hilfe sehr geschätzt würde.

+2

Anscheinend Ihre $ Seite Variable null ist, was bedeutet, dass es keine Seite, die den angegebenen $ Slug Wert entsprechen würde. –

+0

Überprüfen Sie, ob die Seite 'isset' ist, dann rufen Sie' course() ' –

+0

auf Sie sollten die abort_if() Prüfung für $ Seite, bevor Sie versuchen, verwenden Sie den Kurs –

Antwort

0

Sie müssen überprüfen, ob es eine Seite bekam, bevor es mit:

<?php 

namespace App\Http\Controllers; 

use App\CMS\Page; 
use Illuminate\Http\Request; 

use App\Http\Requests; 

class CoursePageController extends Controller 
{ 

    /** 
    * Display the specified resource. 
    * @param $course_slug 
    * @param $slug 
    * @return \Illuminate\Http\Response 
    * @internal param int $id 
    */ 
    public function show($course_slug, $slug) 
    { 
     $page = $this->getPage($course_slug, $slug); 

     return view($page->layout->templateFullPath()) 
      ->withPage($page); 
    } 

    /** 
    * Gets page by slug. 
    * @param $course_slug 
    * @param $slug 
    * @return mixed 
    */ 
    protected function getPage($course_slug, $slug) 
    { 
     if ($page = Page::with('layout', 'contentRegions')->whereSlug($slug)->first()) { 
      if ($page->course()->whereSlug($course_slug)->first()) { 
       return $page; 
      } 
     } 

     abort(404); 
    } 
} 
Verwandte Themen