2016-03-02 37 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');

然后让我们看看会发生什么。我猜这个名字可以重命名为别的东西来避免混淆。