Как использовать MongoDB в Laravel Framework

у меня проблема с использованием MongoDB с Laravel framework. Я использовал это Что Laravel-В MongoDB

вот ошибка, которую я получил

enter image description here

/ app / модель / пользователь.в PHP

<?php 

use JenssegersMongodbModel as Eloquent;

class User extends Eloquent {

     //protected $connection = 'mongodb';
     protected $collection = 'users';

     $user = User::all();

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


?>

/ app / маршруты.в PHP

Route::get('users', function()
{

    $users = User::all();   
    return View::make('users')->with('users',$users);

});

/ app / config / база данных.в PHP

'mongodb' => array(
            'driver'   => 'mongodb',
            'host'     => 'localhost',
            'port'     => 27017,
            'username' => 'username',
            'password' => 'password',
            'database' => 'users'
        ),

Я не знаю, что не так с моей реализацией. Пожалуйста, помогите мне ребята..

2 ответов


Я думаю, что это не проблема с монго

вы не можете объявить локальную переменную класса таким образом .

пожалуйста, попробуйте это

<?php 

use Jenssegers\Mongodb\Model as Eloquent;

class User extends Eloquent {

     //protected $connection = 'mongodb';
     protected $collection = 'users';

}


?>

контроллер/UserController.в PHP

class UserController extends \BaseController 
{
        public function all()
        {
             return User::all();
        }
}

маршруты.в PHP

route::get("all-users","UserController@all");

Это не проблема mongo + Laravel.Проблема возникает из-за кода ниже линия внутри модели

$user = User::all();

поэтому, пожалуйста, перепишите код, как показано ниже

приложение/модели/пользователя.в PHP

<?php 

    use Jenssegers\Mongodb\Model as Eloquent;

    class User extends Eloquent {

         //protected $connection = 'mongodb';
         protected $collection = 'users';

    }
?>

all () является ли предопределенная функция возвращает все строки этой модели.таким образом, вы можете получить к нему доступ без определения функции.перепишите маршруты, как показано ниже

app / маршруты.в PHP

<?php 
    Route::get('users', function()
   {

    $users = User::all();   
    return View::make('users')->with('users',$users);

   });
?>