Как использовать MongoDB в Laravel Framework
у меня проблема с использованием MongoDB с Laravel framework. Я использовал это Что Laravel-В MongoDB
вот ошибка, которую я получил
/ 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);
});
?>