2017-05-04 47 views
0

我得到一個不確定的變量錯誤在我看來,如果我有一個參數,這條路線:「未定義的變量」,在laravel 5.2視圖

<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> 

這是我對於給定的觀點完全控制:

<?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; 
} 

}

而且我的模型

<?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); 
} 
} 

如果我將通過視圖的路線評論爲好,我不知道我錯在哪裏。

+0

你的'index'方法增加了'campusMajor'屬性。你確定這不是'campusMajorId'? – Phil

+0

是的'campusMajor'屬性是爲了它是'campusMajorId' – goateee25

+0

投票結束爲*錯字* – Phil

回答

0

您已經從控制器傳遞$ campusMajorId以查看campusMajor而已,還不如campusMajorId

因此變量在視圖中是未定義的。

+1

有一個簡單的* typo *問題的近距離投票。這些類型的問題的答案沒有幫助 – Phil

+0

噢,我的上帝,沒有意識到它。謝謝! – goateee25