Docs 菜单
Docs 主页
/ / /
Laravel MongoDB
/

查看 MongoDB 数据

1

通过运行以下命令,创建一个名为 的模型,以表示Movie moviesMongoDB database 和相应资源控制器中样本 collection 集合的数据:

php artisan make:model Movie -cr

该命令完成后,会输出以下消息:

INFO Model [app/Models/Movie.php] created successfully.
INFO Controller [app/Http/Controllers/MovieController.php] created successfully.
2

打开app/Models目录中的Movie.php模型并进行以下编辑:

  • Illuminate\Database\Eloquent\Model导入替换为MongoDB\Laravel\Eloquent\Model

  • $connection字段中指定"mongodb"

编辑后的Movie.php文件包含以下代码:

<?php
namespace App\Models;
use MongoDB\Laravel\Eloquent\Model;
class Movie extends Model
{
protected $connection = 'mongodb';
}
3

打开app/Http/Controllers目录中的MovieController.php文件。 将show()函数替换为以下代码,以检索与数据库查询匹配的结果并将其呈现在视图中:

public function show()
{
return view('browse_movies', [
'movies' => Movie::where('runtime', '<', 60)
->where('imdb.rating', '>', 8.5)
->orderBy('imdb.rating', 'desc')
->take(10)
->get()
]);
}
4

打开routes目录中的web.php文件。 为MovieController添加导入和名为browse_movies的路由,如以下代码所示:

<?php
// ...
use App\Http\Controllers\MovieController;
Route::get('/browse_movies/', [MovieController::class, 'show']);
5

从应用程序根目录运行以下命令,创建显示电影数据的视图:

php artisan make:view browse_movies

运行该命令后,会输出以下消息:

INFO View [resources/views/browse_movie.blade.php] created successfully.

打开resources/views目录中的browse_movie.blade.php视图文件。 将内容替换为以下代码并保存更改:

<!DOCTYPE html>
<html>
<head>
<title>Browse Movies</title>
</head>
<body>
<h2>Movies</h2>
@forelse ($movies as $movie)
<p>
Title: {{ $movie->title }}<br>
Year: {{ $movie->year }}<br>
Runtime: {{ $movie->runtime }}<br>
IMDB Rating: {{ $movie->imdb['rating'] }}<br>
IMDB Votes: {{ $movie->imdb['votes'] }}<br>
Plot: {{ $movie->plot }}<br>
</p>
@empty
<p>No results</p>
@endforelse
</body>
</html>
6

您可以使用toJson()方法以 JSON 格式显示结果,而不是生成视图和编辑browse_movie.blade.php文件。

show()函数替换为以下代码以检索结果并将其作为JSON文档返回:

public function show()
{
$results = Movie::where('runtime', '<', 60)
->where('imdb.rating', '>', 8.5)
->orderBy('imdb.rating', 'desc')
->take(10)
->get();
return $results->toJson();
}
7

从应用程序根目录运行以下命令,启动 PHP 内置 Web 服务器:

php artisan serve

服务器启动后,输出以下消息:

INFO Server running on [http://127.0.0.1:8000].
Press Ctrl+C to stop the server
8

在网络浏览器中打开URL http://127.0.0.1 :8000 /browse_movies 。该页面显示电影列表以及每部电影的详细信息。

提示

您可以从应用程序根目录运行php artisan route:list命令来查看可用路由列表。

注意

如果您遇到问题,请在MongoDB Community论坛中寻求帮助,或使用页面右侧或右下角的 Rate this page 标签页提交反馈。

后退

配置 MongoDB 连接