Laravel Dropdownlist:数据无法从数据库加载到查看页面

时间:2016-03-02 10:00:00

标签: php laravel drop-down-menu laravel-routing laravel-5.2

我想从数据库名称中显示Class Name:Class。但是在加载创建页面时,它显示以下错误。

  

courseController.php第23行中的FatalErrorException:语法错误,   意外的'班级' (T_CLASS)

这是我的课程控制器,我想在View Page:

中显示班级数据
Activity

这是我的班级模型:

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

3 个答案:

答案 0 :(得分:1)

添加此内容以使其正常运行,并将Class重命名为TheClass

use App\TheClass;

您需要此实际使用TheClass。此外,class是PHP中的保留字: http://php.net/manual/en/reserved.keywords.php

答案 1 :(得分:0)

Class替换为您的班级名称Course

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

是:

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

答案 2 :(得分:0)

将其更改为

$ input = \ App \ Class :: lists(&#39; name&#39;,&#39; id&#39;);

让我们看看会发生什么。我猜名称Class可以重命名为其他东西,以避免混淆。