2017-05-04 3 views
0

Ich bin ein nicht definierte Variable Fehler meiner Ansicht nach immer wenn ich diesen Weg mit einem Parameter umfassen:„Nicht definiert Variable“ in Laravel 5.2 Ansicht

<div class="table-toolbar"> 
    <div class="row"> 
    <div class="col-md-6"> 
     <div class="btn-group"> 
     <a href="{{ route('major-facilities.add', $campusMajorId) }}" class="btn btn-md btn-success"><i class="fa fa-plus"></i> Add new</a> 
     </div> 
    </div> 
    </div> 
</div> 

Hier sind meine vollen Controller für diese bestimmte Ansicht:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Model\CampusMajor; 
use App\Model\CampusMajorsFacilities; 

class CampusMajorsFacilitiesController extends Controller 
{ 
    // 
    public function index($campusMajorId) 
    { 
     $campusMajorsFacilities = CampusMajorsFacilities::ofCampusMajor($campusMajorId)->get(); 
    $data = [ 
     'campusMajorsFacilities' => $campusMajorsFacilities, 
     'campusMajor' => $campusMajorId 
    ]; 

    return view('major-facilities.index', $data); 
} 

public function add($campusMajorId) 
{ 
    $campusMajorsFacilities = new CampusMajorsFacilities; 

    $data = [ 
     'campusMajorsFacilities' => $campusMajorsFacilities, 
     'campusMajorId' => $campusMajorId, 
     'formIs'   => 'add' 
    ]; 

    return view('major-facilities.form', $data); 
} 

public function save(Request $request,$campusMajorId) 
{ 
    $this->validation($request); 
    $post = $request->all(); 
    $campusMajorsFacilities = $this->bindToObject($post,$campusMajorId); 
    $campusMajorsFacilities->save(); 

    return redirect()->route('major-facilities.index', $campusMajorId)->with('message','Item added Succesfully'); 
} 

public function edit($campusMajorId, $id) 
{ 
    $campusMajorsFacilities = CampusMajorsFacilities::find($id); 

    $data = [ 
     'campusMajorsFacilities' => $campusMajorsFacilities, 
     'campusMajorId' => $campusMajorId, 
     'formIs'   => 'edit' 
    ]; 

    return view('major-facilities.form', $data); 
} 

public function update(Request $request,$campusMajorId,$id) 
{ 
    $this->validation($request); 
    $post = $request->all(); 
    $campusMajorsFacilities = $this->bindToObject($post,$campusMajorId,$id); 
    $campusMajorsFacilities->save(); 

    return redirect()->route('major-facilities.index', $campusMajorId)->with('message','Item updated Succesfully'); 
} 

private function validation($request) 
{ 
    $this->validate($request,[ 
      'title' => 'required', 
      'description' => 'required', 
      'content'  => 'required', 
      'campus_major_id' => 'required' 
     ]); 
} 

public function delete($campusMajorId,$id) 
{ 
    $campusMajorsFacilities = CampusMajorsFacilities::find($id); 
    $campusMajorsFacilities->delete(); 

    return redirect()->route('major-facilities.index', $campusMajorId)->with('message','Item deleted Succesfully'); 
} 

private function bindToObject($post,$campusMajorId,$id=null) 
{ 
    if(is_null($id)){ 
     $campusMajorsFacilities = new CampusMajorsFacilities; 
    } else { 
     $campusMajorsFacilities = CampusMajorsFacilities::find($id); 
    } 

    $campusMajorsFacilities->major_campus_id = $campusMajorId; 
    $campusMajorsFacilities->title = $post['title']; 
    $campusMajorsFacilities->description = $post['description']; 
    $campusMajorsFacilities->content = $post['content']; 

    return $campusMajorsFacilities; 
} 

}

Und mein Modell

<?php 

namespace App\Model; 

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Database\Eloquent\SoftDeletes; 

class CampusMajorsFacilities extends Model 
{ 
    // 
    use SoftDeletes; 

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

public function scopeOfCampus($query, $campus_id) 
{ 
    return $query->where('campus_id', $campus_id); 
} 

public function scopeOfCampusMajor($query, $campus_major_id) 
{ 
    return $query->where('campus_major_id', $campus_major_id); 
} 
} 

Wenn ich die Route auskommentiert habe, habe ich die Sicht gut bestanden, ich weiß nicht, wo ich falsch gelaufen bin.

+0

Ihre 'index' Methode fügt die Eigenschaft' campusMajor' hinzu. Bist du sicher, dass das nicht "campusMajorId" sein soll? – Phil

+0

yeah die 'campusMajor' Eigenschaft war dafür bestimmt, 'campusMajorId' zu sein – goateee25

+0

Voting zu schließen als * typo * – Phil

Antwort

0

Sie haben $ campusMajorId von der Steuerung übergeben als campusMajor nur zu betrachten, nicht als campusMajorId.

Daher ist die Variable in der Ansicht nicht definiert.

+1

Es gibt eine enge Abstimmung für einfache * typo * Probleme. Antworten auf diese Art von Fragen sind nicht hilfreich – Phil

+0

oh mein Gott, hat es nicht erkannt. Vielen Dank! – goateee25

Verwandte Themen