rosamarsky / laravel-doctrine-odm
简单的 Laravel Doctrine2 ODM 适配器
1.0.5
2021-09-13 13:45 UTC
Requires
- php: ^7.1|^8
- ext-mongodb: *
- doctrine/mongodb-odm: ^2
- illuminate/container: *
- nesbot/carbon: ^2|^3
README
安装与配置
-
通过 composer 安装:
composer require rosamarsky/laravel-doctrine-odm; -
确保
ServiceProvider.php在您的应用程序中已注册。 -
通过命令
php artisan vendor:publish或cp ./vendor/rosamarsky/laravel-doctrine-odm/config/doctrine-odm.php ./config/doctrine-odm.php发布doctrine-odm.php配置文件; -
设置 MongoDB 连接的 .env 变量
MONGO_HOSTMONGO_PORTMONGO_DBMONGO_USERMONGO_PASS
注意
Only annotation driver is available
示例
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM; /** @ODM\Document(collection="users") */ class User { /** @ODM\Id() */ private string $id; /** @ODM\Field(type="string") */ private string $name; /** @ODM\Field(type="string") */ private string $email; /** @ODM\Field(type="carbon") */ private Carbon $createdAt; public function __construct(string $name, string $email) { $this->name = $name; $this->email = $email; } }
class UserController extends AbstractController { private $manager; public function __construct(\Doctrine\ODM\MongoDB\DocumentManager $manager) { $this->manager = $manager; } public function store(Request $request): User { $user = new User('Roman Samarsky', 'rosamarsky@gmail.com'); $this->manager->persist($user); $this->manager->flush(); return $user; } }