Laravel 4 - 如何在视图中访问MySQL数据库

时间:2014-03-23 02:14:28

标签: php mysql view laravel

我很擅长使用框架。我有一个学校项目,我需要使用MVC,我已经使用laravel大约2周。

我已经设置了网站结构,验证等等。但我有点碰到了

我不知道laravel,如何使用视图访问除用户之外的mysql表。我读了几个教程和文件 - 没有运气

例如用户详细信息 - 我只是使用这些:

{{ Auth::user()->username }}
{{ Auth::user()->email }}

然而我创造了一个新的模型&控制器。我知道如何创建db表的条目,但不知道如何访问它。以下是以下文件:

模特:课程

<?php

class Course extends Eloquent {

    /* User Rules */

    public static $rules = array(

    'name'=>'required|alpha|size:4',

    'cid'=>'required|digits:3|unique:courses',

    'description'=>'required|regex:/^[A-Za-z \t]*$/i|min:3|unique:courses',

    'credits'=>'required|numeric'

    );

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'courses';


}

Controller:COurseController

<?php

class CourseController extends BaseController {


//------------------------------------------

public function addCourseView() {
    return View::make('courses.addcourse');
}

public function addCourse() {

    $validator = Validator::make(Input::all(), Course::$rules);

    if ($validator->passes()) {

            $course = new Course;
            $course->name = Input::get('name');
            $course->cid = Input::get('cid');
            $course->description = Input::get('description');
            $course->credits = Input::get('credits');
            $course->save();

            return Redirect::to('courses/add')->with('status', 'Course Added Successfully !');
    } 
    else 
    {
        return Redirect::to('courses/add')->with('error', 'Errors have occured with your inputs')->withErrors($validator)->withInput();
    }


}



}
?>

现在让我说我有一个观点。

如何使用他们的名字cid?

显示表格中的课程

1 个答案:

答案 0 :(得分:1)

您不应该在视图中访问或执行db操作,而应该从控制器准备数据并将从数据库中提取的数据传递给您的视图,例如,您可以尝试这样的操作:< / p>

// Get all courses
$courses = Course::all();

// Pass data/courses to app/views/courses/index.blade.php
return View::make('courses.index')->with('courses', $courses);

在视图循环中,课程:

@foreach($courses as $course)
    {{ $course->fieldName }}
@endforeach

这是一个简单的例子,你没有提供更多信息,所以不能更具体,但只是给了你一个想法。