2014-05-13 76 views
0

我是Laravel的新手。我正在使用Jenssegers Laravel庫,一個支持MongoDB的雄辯模型和查詢構建器。使用Jenssegers Laravel庫檢索並顯示Laravel 4中的MongoDB文檔內容

在我的數據庫中,我創建了下面的文檔。我試圖在瀏覽器上顯示文檔的內容,但我不成功。

我會很感激一些提示或如何檢索和Laravel 4

由於顯示的MongoDB文檔的內容幫助。

{ 
"_id" : ObjectId("537124d584142189174ce113"), 
"username" : "usertest", 
"password" : "passtest", 
"email" : "[email protected]", 
"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); 

}); 

File:/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> 
+0

您不必定義模型中的「全功能」這是在雄辯中已經違抗了。 Mongo圖書館的工作也類似。因此,請嘗試在Controller或Route中使用「User :: all()」。你可以直接打印它。我建議你先檢查它Eloquent文檔http://laravel.com/docs/eloquent –

回答

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()放在route/controller中,然後放在模型中,因爲像Muharrem Tigdemir評論中提到的那樣 - 它已經在Eloquent中聲明瞭。它看起來像這樣:

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

}); 

希望它有幫助。

+0

謝謝我把它修好了! –

0

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

應該<p>{{ $user->username }}</p>

相關問題