2016-03-02 61 views
1

我想從數據庫名稱Class中顯示Class Name。但是,當加載創建頁面時,它顯示以下錯誤。Laravel Dropdownlist:數據無法從數據庫加載到查看頁面

FatalErrorException在courseController.php行23:語法錯誤,意外 '類'(T_CLASS)

這裏是我的課程控制器,我想,以顯示視圖頁面類數據:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 
use App\Course; 
use Redirect; 

class courseController extends Controller 
{ 
    public function index() 
    { 
     $alldata=Course::all(); 
     return view('course.index',compact('alldata')); 
    } 


    public function create() 
    { 
     $input = Class::lists('name', 'id'); 
     return view('course.create',compact('input')); 
    } 


    public function store(Request $request) 
    { 
     $input = $request->all(); 
     Course::create($input); 
     //return $input; { for seeing the output in browser} 
     return redirect('course'); 
    } 
} 

這裏是我的類模型:

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Class extends Model 
{ 
    protected $table="classes"; 
    protected $primaryKey="id"; 
    protected $fillable=['name']; 
} 

這裏是當然型號:

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Course extends Model 
{ 
    protected $table="courses"; 
    protected $primaryKey="course_id"; 
    protected $fillable=['course_code','course_title','course_credit']; 
} 

,這裏是我想要加載數據

<html> 
    <head> 
     <title> Create Course </title> 
     <meta charset="utf-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
     <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
    </head> 
    <body> 

     <div class="container" > 
      <h3> Create course </h3> 
     {!! Form::open(array('route' => 'course.store','class'=>'form-horizontal')) !!} 
     {!! Form::token(); !!} 
      <?php echo csrf_field(); ?> 
      <div class="form-group"> 
       <label>Course Code</label> 
       <input type="text" name="course_code" class="form-control" placeholder="Code"> 
      </div> 
      <div class="form-group"> 
       <label>Course Title</label> 
       <input type="text" name="course_title" class="form-control" placeholder="Title"> 
      </div> 
      <div class="form-group"> 
       <label>Course Credit</label> 
       <input type="text" name="course_credit" class="form-control" placeholder="Credit"> 
      </div> 


    {!! Form::select('id', $input) !!}     


    <button type="submit" class="btn btn-default">Submit</button> 
     {!! Form::close() !!} 
     </div> 
    </body> 
</html> 
+0

如果我的回答很有幫助,請註冊並選擇它作爲最佳答案。 –

回答

0

與類名Course替換Class查看頁面:

$input = Class::lists('name', 'id'); 

到be:

$input = Course::lists('name', 'id'); 
+0

我想從班級模型的數據提取到課程模型.. – Hola

+2

你不能給班級名稱**班級** –

+0

我不明白你在說什麼兄弟..在這裏,這個班級是一個模型。爲什麼指的是類名? – Hola

1

添加這使它工作,並重新命名Class喜歡的東西TheClass

use App\TheClass; 

你需要這個實際使用TheClass。此外,class是在PHP中被保留的話: http://php.net/manual/en/reserved.keywords.php

+0

之前使用過它,而沒有使用 – Hola

+0

那麼,你應該使用'使用App \ Class;'反正如果你想使用它。另外,請嘗試將您的課程重命名爲「TheClass」,並請告訴我有關結果。 –

+0

是的,我已將Class更改爲TheClass並仍然出現相同的錯誤。 – Hola

0

將其更改爲

$輸入= \軟件\類::列表( '名稱', 'ID');

然後讓我們看看會發生什麼。我猜這個名字可以重命名爲別的東西來避免混淆。