Laravel:无法将数据库从路由器传递到视图

时间:2014-03-01 12:32:12

标签: mysql laravel laravel-4

我刚开始使用Laravel,当我尝试从数据库中检索值并试图通过路由器在视图上输出它时卡住了。这是我在路由器中的代码:

Route::get('/', function(){
    $posts =  DB::select("select title from posts");
    return View::make("hello", $posts);
});

使用刀片模板查看代码:

@extends('master')

@section('title')
    @foreach ($posts as $post) {
        {{ $post->title }}
    @endforeach
@endsection

我尝试检查查询并且运行完美,但我在查看的页面上收到了未定义的变量错误。

enter image description here

我做错了什么,如何纠正?请帮忙..

1 个答案:

答案 0 :(得分:1)

试试这个:

$posts = DB::select(DB::raw('SELECT title FROM posts'));

或:

$posts = DB::table('posts')->select('title')->get();

返回View:

return View::make('hello', ['posts' => $posts]);

在发送到视图之前,您需要将$posts分配给变量。在上面,变量是posts