0

我是 Laravel 的新手。我正在使用 Jenssegers Laravel 库,这是一个支持 MongoDB 的雄辩的模型和查询构建器。

在我的数据库中,我创建了下面的文档。我试图在浏览器上显示文档的内容,但我没有成功。

对于如何在 Laravel 4 上检索和显示 MongoDB 文档的内容,我将不胜感激。

谢谢。

{
"_id" : ObjectId("537124d584142189174ce113"),
"username" : "usertest",
"password" : "passtest",
"email" : "test@email.com",
"school" : "College university",
"country" : "USA",
"state" : "Washington",
"city" : "Seattle"
}

这是我到目前为止得到的代码..

文件:/app/models/User.php

<?php
use Jenssegers\Mongodb\Model as Eloquent;


class User extends Eloquent {

    /**
     * The database table (collection) used by the model.
     *
     * @var string
     */
     protected $collection = 'user';

     $users = User::all();

     public function all()
     {
        return $this->$users;
     }
}

文件:/app/routes.php

Route::get('users', function()
{
return View::make('users')->with('user',$users);

});

文件:/app/views/users.blade.php

@extends('layout')

@section('content')
    @foreach($users as $user)
        <p>{{ $user->name }}</p>
    @endforeach
@stop

文件:/app/views/layout.blade.php

<html>
    <body>
        <h1>Laravel Quickstart</h1>

        @yield('content')
    </body>
</html>
4

2 回答 2

0

也许这很明显,但是如果您想users在视图中使用变量:

@foreach($users as $user)
// some code
@endforeach

users然后在路由(或控制器)中,您不应该通过user

// should be
return View::make('users')->with('users',$users);

// not    
return View::make('users')->with('user',$users);

此外,我宁愿将 User::all() 放在路由/控制器中,然后放在模型中,因为就像 Muharrem Tigdemir 在评论中提到的那样 - 它已经在 Eloquent 中声明了。它看起来像这样:

Route::get('users', function()
{
    return View::make('users')->with('user', User::all());

});

希望它有所帮助。

于 2014-05-15T19:07:00.213 回答
0

在您的文档中,您有username,但在您引用的 users.blade.php 文件中<p>{{ $user->name }}</p>

它应该是<p>{{ $user->username }}</p>

于 2015-07-09T19:00:28.163 回答