代码拉取完成,页面将自动刷新
#自动读写分离的php-orm
composer require man0sions/orm
1:git clone https://git.oschina.net/man0sions/Orm.git
2:php public/index.php
$db_conf = [
'master' => [ //配置主数据库
'host' => '192.168.10.10',
'user' => 'mysqluser',
'passwd' => 'mysqlpasswd',
'dbname' => 'test',
],
'slave' => [ //配置从数据库,可以多个
[
'host' => '192.168.10.11',
'user' => 'mysqluser',
'passwd' => 'mysqlpasswd',
'dbname' => 'test',
],
[
'host' => '192.168.10.12',
'user' => 'mysqluser',
'passwd' => 'mysqlpasswd',
'dbname' => 'test',
]
]
];
\LuciferP\Orm\base\Registry::set('db_conf', $db_conf);
例如:创建一个User.php
use LuciferP\Orm\base\Model;
class Users extends Model
{
protected $table = 'users'; //修改此处mysql表名称
}
/**
* create
*/
$user = new \LuciferP\Orm\models\Users();
$user->name = 'zhangsan';
$user->password = password_hash('passwd',PASSWORD_DEFAULT,['cost'=>10]);
if($user->create())
{
var_dump($user->getAttributes());
}
else
{
var_dump($user->getErrors()); //sql操作失败用getErrors()方法获取错误信息
}
/**
* find
*/
$user = \LuciferP\Orm\models\Users::model()
->fields(['*'])
->where(['id' => 2])
->find();
var_dump($user->getAttributes()); //使用getAttributes 方法获取数据数组
/**
* find all
* findall 方法返回的是一个数组对象,数组中的每一个对象都可以进行update,delete,操作
*/
$users = \LuciferP\Orm\models\Users::model()
->fields(['*'])
->where(['name' => 'zhangsan'])
->limit(5)
->order(['id'=>'desc'])
->findAll();
foreach($users as $item)
{
var_dump($item->getAttributes());
}
/**
* update
*/
$user->name = 'lisi'.microtime();
if($user->update())
{
var_dump($user->getAttributes());
}
else
{
var_dump($user->getErrors());
}
/**
* delete
*/
if(!$user->delete())
{
var_dump($user->getErrors());
}
$user = \LuciferP\Orm\models\Users::model()
->fields(['*'])
->where(['id' => 2])
->find();
if (!$user->$user->getAttributes()) {
$user = new User();
}
$user->name = "hello";
if ($user->save()) {
var_dump($user->getAttributes());
} else {
var_dump($user->getErrors());
}
$count = Users::model()->where(['name'=>'zhangsan'])->count();
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型