#连接数据库
<?php
require_once dirname(__FILE__) . '/../../ActiveRecord.php';
// initialize ActiveRecord
ActiveRecord\Config::initialize(function($cfg)
{
$cfg->set_model_directory(dirname(__FILE__) . '/models'); //所有表的Model类都在文件夹/models内
$cfg->set_connections(array('development' => 'mysql://root:root@127.0.0.1/test'));
//用户名:密码@数据库地址/数据库名
});
#设置表的Model类
Example Table Name user;
class User extends ActiveRecord\Model
{
// explicit table name since our table is not "users" 改变默认对应表为users的情况
static $table_name = 'user';
// explicit pk since our pk is not "id" 改变默认主键为id的情况
static $primary_key = 'uid';
}
##################################################################
#Model类关联表的特殊情况
Some special Model Name will reset based on PHPActiveRecord'way;
Example:
Model Name Table Name
'move' => 'moves',
'foot' => 'feet',
'goose' => 'geese',
'sex' => 'sexes',
'child' => 'children',
'man' => 'men',
'tooth' => 'teeth',
'person' => 'people'
##################################################################
#对Model类CURD的操作
*增 Insert
#第一种方法
# Insert into user(name,state) values('Mickey',1);
$users = User::all();
$users->name = 'Mickey';
$users->state = 1;
$users->save();
#第二种方法
# Insert into user(name,state) values('nano',1);
$user = User::create(array('name' => 'nano', 'state' => 1));
******************************************************************************************
*删 Delete
#单条删除
#delete from user where id = 3;
$result = User::find(3)->delete();
#集合删除
#delete from user where uid in (2,3,4,5);
User::table()->delete(array('uid' => array(2,3,4,5)));
******************************************************************************************
*改 Update
#第一种
#update user set name = 'maike' where id = 1;
$post = User::find(1);
$post->name='maike';
$post->save();
#第二种
形式A:
Model::table()->update(AttributesToUpdate, WhereToUpdate);
#update user set name = 'Massive title' where uid in (6,7,8,9);
$setname = array('name' => 'Massive title!');
$whereid = array('uid' => array(6,7,8,9));
User::table()->update($setname,$whereid);
形式B:
#update user set 'is_valid' = 0 where phone_number = 13751070555 and content = 'good';
$setname = array('is_valid' => 0);
$whereid = array('phone_number' => 13751075555,'content' => 'good');
User::table()->update($setname,$where);
********************************************************************************************
*查询 Read
#用原生语句
$users = User::find_by_sql('select * from `user` where uid in(1,2,3,4,5) order by uid desc');
#根据主键查询
#select * from user where id = 1;
$user = User::find(1);
#根据 条件查询 所有符合条件的
#select * from user where sex = 1 and name = 'JohnJ';
$user = User::find('all',array('sex'=>1,'name'=>'JohnJ'));
#根据条件查出唯一一条对应的
#select * from user where id = 1;
$user = User::first(array('id'=>1));