laravel-mongodb实战指南:10分钟搭建MongoDB驱动的Laravel应用

laravel-mongodb实战指南:10分钟搭建MongoDB驱动的Laravel应用

【免费下载链接】laravel-mongodb A MongoDB based Eloquent model and Query builder for Laravel (Moloquent) 【免费下载链接】laravel-mongodb 项目地址: https://gitcode.com/gh_mirrors/la/laravel-mongodb

你是否在寻找一种方式,能让Laravel无缝对接MongoDB(蒙戈数据库)?本文将带你在10分钟内完成从环境配置到数据读写的全过程,即使你是MongoDB新手也能轻松上手。读完本文后,你将掌握如何在Laravel项目中集成MongoDB,创建数据模型,并实现基本的CRUD(创建、读取、更新、删除)操作。

准备工作

在开始之前,请确保你的开发环境中已经安装了以下软件:

  • PHP(推荐版本7.4及以上)
  • Composer(PHP的依赖管理工具)
  • MongoDB PHP扩展(用于连接MongoDB数据库)

如果你使用的是Laravel Herd,可以参考Installing MongoDB via Herd Pro快速安装MongoDB服务。

安装与配置

步骤1:创建Laravel项目

首先,打开终端,运行以下命令安装Laravel安装器(如果尚未安装):

composer global require laravel/installer

然后创建一个新的Laravel项目:

laravel new laravel-mongodb-demo
cd laravel-mongodb-demo

步骤2:安装laravel-mongodb包

在项目根目录下,运行以下命令安装MongoDB的Laravel扩展包:

composer require mongodb/laravel-mongodb:^4.0

步骤3:配置数据库连接

  1. 复制环境变量示例文件并编辑:
cp .env.example .env
  1. 打开.env文件,修改数据库连接配置:
DB_CONNECTION=mongodb
DB_URI="mongodb://localhost:27017/laravel_demo"
  1. 编辑config/database.php文件,添加MongoDB连接配置:
'connections' => [
    // ...
    'mongodb' => [
        'driver' => 'mongodb',
        'dsn' => env('DB_URI'),
        'database' => env('DB_DATABASE', 'laravel_demo'),
    ],
],
  1. bootstrap/providers.php文件中注册服务提供者:
return [
    // ...
    MongoDB\Laravel\MongoDBServiceProvider::class,
];

创建数据模型

步骤1:生成模型和迁移文件

运行以下命令创建一个Product模型及其对应的迁移文件:

php artisan make:model Product -m

步骤2:编辑迁移文件

打开database/migrations/XXXX_XX_XX_XXXXXX_create_products_table.php文件,修改up方法:

public function up()
{
    Schema::create('products', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->text('description')->nullable();
        $table->decimal('price', 8, 2);
        $table->integer('stock');
        $table->timestamps();
    });
}

步骤3:运行迁移

php artisan migrate

步骤4:编辑模型文件

打开app/Models/Product.php文件,确保模型继承自MongoDB的Model类:

namespace App\Models;

use MongoDB\Laravel\Eloquent\Model;

class Product extends Model
{
    protected $connection = 'mongodb';
    protected $fillable = ['name', 'description', 'price', 'stock'];
}

实现基本数据操作

创建数据

在 routes/web.php 文件中添加以下路由:

use App\Models\Product;
use Illuminate\Http\Request;

Route::get('/create-product', function (Request $request) {
    $product = Product::create([
        'name' => 'Laravel MongoDB Book',
        'description' => 'A guide to using MongoDB with Laravel',
        'price' => 29.99,
        'stock' => 100
    ]);
    
    return "Product created with ID: " . $product->_id;
});

读取数据

添加读取所有产品的路由:

Route::get('/products', function () {
    $products = Product::all();
    return view('products', ['products' => $products]);
});

创建一个简单的视图文件resources/views/products.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>Products</title>
</head>
<body>
    <h1>Products List</h1>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Price</th>
            <th>Stock</th>
        </tr>
        @foreach($products as $product)
        <tr>
            <td>{{ $product->_id }}</td>
            <td>{{ $product->name }}</td>
            <td>${{ $product->price }}</td>
            <td>{{ $product->stock }}</td>
        </tr>
        @endforeach
    </table>
</body>
</html>

更新和删除数据

添加更新和删除的路由:

Route::get('/update-product/{id}', function ($id) {
    $product = Product::find($id);
    $product->update(['price' => 34.99, 'stock' => 95]);
    return "Product updated";
});

Route::get('/delete-product/{id}', function ($id) {
    Product::destroy($id);
    return "Product deleted";
});

运行应用

启动Laravel开发服务器:

php artisan serve

现在你可以通过访问以下URL来测试各个功能:

  • 创建产品:http://localhost:8000/create-product
  • 查看产品列表:http://localhost:8000/products
  • 更新产品:http://localhost:8000/update-product/{产品ID}
  • 删除产品:http://localhost:8000/delete-product/{产品ID}

进阶学习

恭喜你已经成功搭建了Laravel与MongoDB的连接!想要深入学习,可以参考以下资源:

通过本文的步骤,你已经掌握了在Laravel中使用MongoDB的基础知识。MongoDB的灵活性和Laravel的优雅语法相结合,将为你的项目开发带来更多可能性。如果你在实践过程中遇到任何问题,可以查阅项目的CONTRIBUTING.md文档或提交issue寻求帮助。

希望这篇指南对你有所帮助,祝你在Laravel和MongoDB的开发之路上越走越远!

【免费下载链接】laravel-mongodb A MongoDB based Eloquent model and Query builder for Laravel (Moloquent) 【免费下载链接】laravel-mongodb 项目地址: https://gitcode.com/gh_mirrors/la/laravel-mongodb

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值