本文目录一览:
- 1、thinkphp 用mysqlmongodb 模型怎么使用
- 2、MongoDB在ThinkPHP里面怎么进行数据库操作
- 3、thinkphp 怎么样执行Mongo原生语句
- 4、ThinkPhp框架中使用mongodb数据库配置报错Call to a member function selectCollection() on a non-object
thinkphp 用mysqlmongodb 模型怎么使用
第一步:在你的应用的Model文件下建立一个MonModel
第二步:MonModel的内容如下
?php
namespace Admin\Model;
use Think\Model\MongoModel;
Class MonModel extends MongoModel
{
public function __construct($name, $tablePrefix, $connection)
{
parent::__construct($name, $tablePrefix, $connection);
$this-trueTableName=$name;//要连接的那个集合(表)控制器里传过来
}
protected $dbName='name';//(要连接的数据库名称)
protected $connection = array(
'db_type' = 'mongo',
'db_user' = 'admin',//用户名(没有留空)
'db_pwd' = 'admin',//密码(没有留空)
'db_host' = '127.0.0.1',//数据库地址
'db_port' = '27017',//数据库端口 默认27017
);
protected $_idType = self::TYPE_INT; //参考手册
protected $_autoinc = true;//参考手册
/* public function getall()
{
return $this-select();
}*/
}
第三步:你就可以在你的控制器里用这个MonModel去操作mongodb了。
如下
?php
namespace Admin\Controller;
use Admin\Model\MonModel;
use Common\Controller\YouKangController;
class AuController extends YouKangController {
public function index()
{
$M= new MonModel('movie');//movie是集合名(表名)
diedump($M-select());
}
}
MongoDB在ThinkPHP里面怎么进行数据库操作
连接数据库
$conn=new Mongo(“mongodb://sa:123@localhost”); #带用户名密码
选择数据库和集合
$db=$conn-selectDB(“mydb”);
$collection = $db-selectCollection(‘column’);
增删改查这是我的建议,如果想要更加详细的话,可以去后盾人学习相关的知识
thinkphp 怎么样执行Mongo原生语句
原生SQL查询有 query() 和 execute() 两个方法:
query():用于 SQL 查询操作,并返回符合查询条件的数据集
execute():更新和写入数据的 SQL 操作,返回影响的记录数
1
2
3
4
5
6
7
8
9
10
11
12
13
public function read(){
// 实例化一个空模型,没有对应任何数据表
$Dao = M();
//或者使用 $Dao = new Model();
$list = $Dao-query("select * from user where uid5");
if($list){
$this-assign('list', $list );
$this-display();
} else {
$this-error($Dao-getError());
}
}
public function read(){
header("Content-Type:text/html; charset=utf-8");
// 实例化一个空模型,没有对应任何数据表
$Dao = M();
//或者使用 $Dao = new Model();
$num = $Dao-execute("update user set email = '12345@xxx.com' where uid=3");
if($num){
echo '更新 ',$num,' 条记录。';
}else{
echo '无记录更新';
}
}
ThinkPhp框架中使用mongodb数据库配置报错Call to a member function selectCollection() on a non-object
TP3.1的解决方法就是如楼上所说,需要实例化mong数据库的模型。
so 有两种方式:
直接在使用的方法内实例化MongoModel类;
写一个model专门继承MongoModel,把需要连mongo的操作或方法都丢里面去,然后在需要的页面中D()一下这个model中的某一方法即可.
如下图代码: