yii2中我们可以使用mongo非关系数据库操作,你那么能不能像使用数据库那样来使用orm操作呢?当然可以的。

下面我们来安装mongo:

1.安装mongo:

composer require --prefer-dist yiisoft/yii2-mongodb

www@www:var/www/app$ composer require --prefer-dist yiisoft/yii2-mongodb -
Running 2.2.9 (2022-03-15 22:13:37) with PHP 7.4.28 on Linux / 4.4.0-210-generic
Reading ./composer.json (/htdocs/gitwork/zzoms2-2/composer.json)
Loading config file /home/www/.config/composer/config.json
Loading config file /home/www/.config/composer/auth.json
Loading config file ./composer.json (/htdocs/gitwork/zzoms2-2/composer.json)
Checked CA file /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a file.
Checked directory /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a directory.
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/htdocs/gitwork/zzoms2-2): git branch -a --no-color --no-abbrev -v
Failed to initialize global composer: Composer could not find the config file: /home/www/.c.jsonReading var/www/app/vendor/composer/installed.json
Skipped loading "yiisoft/yii2-composer" as it is not in config.allow-plugins
Reading /home/www/.cache/composer/repo/https---asset-packagist.org/packages.json from cache
Downloading https://asset-packagist.org/packages.json if modified
[200] https://asset-packagist.org/packages.json
Writing /home/www/.cache/composer/repo/https---asset-packagist.org/packages.json into cache
Downloading https://asset-packagist.org/p/provider-latest/3da8cb9075490fd8d39e2ab6304769a84f0f39b2e.json

安装完成后,我们来加配置:

2.在main-local文件里面加上gii地址:

    $config['bootstrap'][] = 'gii';$config['modules']['gii'] = ['class' => 'yii\gii\Module','generators' => ['mongoDbModel' => ['class' => 'yii\mongodb\gii\model\Generator'],],'allowedIPs' => ['127.0.0.1', '192.168.0.*']];

3.添加mongo 连接配置:

main-local文件里面加上mongo配置:

'mongodb' => ['class' => '\yii\mongodb\Connection','dsn' => 'mongodb://127.0.0.1:27017/app',
],
'mongodbshop' => ['class' => '\yii\mongodb\Connection','dsn' => 'mongodb://127.0.0.1:27017/shop',
],

如果有多个mongo可以按照上面的写法。

接下来我们要通过gii生成mongo模型:

mongo有下面的字段:

生成的模型如下:

<?phpnamespace app\models;use Yii;/*** This is the model class for collection "file".** @property \MongoDB\BSON\ObjectID|string $_id* @property mixed $attchment_type* @property mixed $original_file_name* @property mixed $file_name* @property mixed $file_path*/
class File extends \yii\mongodb\ActiveRecord
{/*** {@inheritdoc}*/public static function collectionName(){return ['app', 'file'];}/*** {@inheritdoc}*/public function attributes(){return ['_id','attchment_type','original_file_name','file_name','file_path',];}/*** {@inheritdoc}*/public function rules(){return [[['attchment_type', 'original_file_name', 'file_name', 'file_path'], 'safe']];}/*** {@inheritdoc}*/public function attributeLabels(){return ['_id' => 'ID','attchment_type' => 'Attchment Type','original_file_name' => 'Original File Name','file_name' => 'File Name','file_path' => 'File Path',];}
}

这样就可以直接查询了:

$file =  File::find()->where(['file_name'=>'app'])->asArray()->one()

这样就可以使用mongo来操作数据了

yii2 使用gii生成mongo模型 控制器以及YII2 多MongoDB配置和使用相关推荐

  1. YII2使用Gii生成代码

    Yii2 框架 之所以称之为高效快速开发的一款框架,是因为有一个神奇的工具Gii 用过Yii1框架的Coder都知道,Gii可以为你快速生成代码,也就是说搭建一个可以增删改查的WebApp可能一行代码 ...

  2. YII2框架 Gii生成CURD 的问题

    今天在学习YII2 creating Module 过程当中 遇到问题创建Module后  然后添加CRUD过程里 VIEW PATH路径问题 导致了 无法在指定路径生成CRUD文件 文件全部生成到了 ...

  3. php model module,Yii2用Gii自动生成Module+Model+CRUD

    1. 开启gii模块 common/config/main-local.php加入下面代码 return [ 'modules' => [ 'gii' => [ 'class' => ...

  4. Yii学习笔记之二(使用gii生成一个简单的样例)

    1. 数据库准备 (1) 首先我们建一数据库 yii2test 并建立一张表例如以下: DROP TABLE IF EXISTS `posts`; CREATE TABLE `posts` (`pos ...

  5. yii mysql gii_Yii 框架使用Gii生成代码操作示例

    本文实例讲述了Yii 框架使用Gii生成代码操作.分享给大家供大家参考,具体如下: 开始 Gii Gii 是 Yii 中的一个模块. 可以通过配置应用的 modules 属性开启它.通常来讲在 con ...

  6. 【PHP学习】Yii2框架Gii模块使用

    [PHP学习]Yii2框架Gii模块使用 开启Gii模块 Yii2中使用一个模块通常需要到config文件夹下的web.php下去配置,如下图我们就可以看到Gii模块的使用只有在YII_ENV_DEV ...

  7. 自定义gii生成模块

    主要形成modal(弹出窗)模板风格: 1.将vendor\yiisoft\yii2-gii\generators\crud\default复制到backend\components\gii-cust ...

  8. Unity解析OpenDRIVE地图数据,并生成路网模型

    文章目录 一.引言 二.OpenDrive概述 三.OpenDrive重要节点介绍 1.建模用到的主要节点及属性 2.geometry节点 3.lane的width节点 四.根据解析得到的数据创建道路 ...

  9. asp.net mysql 创建变_[ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型...

    [ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型 0 2018-06-30 07:00:08 官方教程: ...

最新文章

  1. PHP 安全email
  2. Openoffice添加页脚页码页数页眉
  3. Osmocom-BB 相关资源、知识分享
  4. CSDN:解决粉丝网友集中问题留言处,把你所有的问题在留言处留言,我会一一回答
  5. Java集合—PriorityQueue底层原理
  6. 宏观经济之国家经济与建设
  7. 国内SAP UI5使用者关于性能优化和UI5 Web Component的讨论
  8. 【配置属性】—Entity Framework实例详解
  9. linux下mysql的启动与停止
  10. 添加游戏到游戏浏览器中的小工具
  11. windows 编写的硬件驱动_黑科技or大势所趋?谈谈手机GPU驱动升级那点事
  12. CruiseControl
  13. 2022年美赛S奖得主的三次完赛经历
  14. JDK 1.8 中的 Timer 类
  15. 表扩展字段2种实施方案研究
  16. ssm毕设项目农贸市场摊位管理系统c22ux(java+VUE+Mybatis+Maven+Mysql+sprnig)
  17. document打印
  18. 使用Cluster API提供裸金属Kubernetes
  19. 计算机上显示F怎么取消,联想笔记本如何关闭Fn功能键 怎么取消电脑的f
  20. 电子秤称东西用计算机怎么算,怎样将电子天平或电子秤连接到PC并直接将重量值读取到Excel中...

热门文章

  1. android6.0 cta认证,什么是CTA认证?CTA进网许可认证。
  2. (5)完整的Django框架学习之自定义过滤器及标签
  3. Oracle 11g R2 RSF(Recurive Subquery factoring)
  4. 汉诺塔,简单递归带你破解出攻略
  5. 计算机显卡内存分布查看,Win10电脑查看显卡内存的详细教程
  6. 关联分析(Association Analysis)--挖掘啤酒与尿布的关联规则
  7. 一次RAC主机资源使用异常导致的节点重启
  8. git init和git clone获取仓库 (一)
  9. 解决微信扫码下载的两个方法
  10. Eclipse4.6(neno)配置Tomcat插件