php - 如何在 php artisan make :model command 中使用 Jenssegers\Mongodb\Eloquent\Model 而不是 Illuminate\Database\Eloquent\Model

标签 php mongodb laravel eloquent

我正在使用 Laravel 和 MongoDB (jenssegers/laravel-mongodb) 开发一个网络应用程序。

在使用 php artisan make:model 创建新模型时,命令使用文件中的 Illuminate\Database\Eloquent\Model 声明,每次我需要替换Illuminate\Database\Eloquent\Model 手动使用 Jenssegers\Mongodb\Eloquent\Model

有没有办法使这个过程自动化?

最佳答案

该包似乎没有提供用于创建 MongoDB 模型 stub 的 Artisan 命令,这似乎有点疏忽。但是,如果您需要,自己为 Artisan 创建这种生成器命令并不难。

模型制作命令位于 https://github.com/laravel/framework/blob/5.7/src/Illuminate/Foundation/Console/ModelMakeCommand.php用于创建它的 stub 文件位于 https://github.com/laravel/framework/blob/5.7/src/Illuminate/Foundation/Console/stubs/model.stub .如果您扩展命令类以用您的 MongoDB 版本替换 stub 文件,并将 stub 文件修改为 MongoDB 模型,那么您应该能够创建用于生成 MongoDB 模型的命令。甚至可能值得 fork 包来添加它并提交拉取请求以将其添加到包中。我会引用 Laravel 文档中处理 Artisan 的部分以获取更多详细信息,因为它详细描述了添加您自己的 Artisan 命令的过程。

关于php - 如何在 php artisan make :model command 中使用 Jenssegers\Mongodb\Eloquent\Model 而不是 Illuminate\Database\Eloquent\Model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53222613/

相关文章:

PHP w/MS SQL 在批量插入时速度慢

php - 如何在负载均衡器 (ssl_termination) 后面使用 Laravel 5 配置 SSL?

php - 生成人口热图 : Mapreduce?

mongodb - Docker:连接到容器(不暴露端口)

javascript - mongodb 在子文档中使用 $pop

node.js - ECS Fargate 不支持绑定(bind)挂载

laravel - 如何使用 Blade 模板中的类?

php - AbstractSmtpTransport.php 中的 Swift_TransportException 第 404 行 : Connection to smtp. gmail.com:465 超时

php - 无法在 pdo 语句中连接 sql

javascript - 获取中的 OAuth1 身份验证