PHP code example of beansir / newx-orm

1. Go to this page and download the library: Download beansir/newx-orm library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

beansir / newx-orm example snippets



return [
    'default' => [
        'host'      => '127.0.0.1', // 地址
        'user'      => 'user', // 用户名
        'password'  => 'password', // 密码
        'db'        => 'db', // 数据库名
        'type'      => 'mysqli' // 连接方式
    ],
];


$db = ewxOrm::load($db);


class UserModel extends \newx\orm\base\Model
{
    public $table = 'user'; // 数据表名,默认default
    
    public $db = 'default'; // 数据库配置,默认default
}


// @return Model_User
$user = UserModel::model();


// @return array 模型对象数组
// 方式一
$user = UserModel::model()->all();
 
// 方式二
$user = UserModel::getAll();


// @return Model_User
// 方式一
$user = UserModel::model()->one();
 
// 方式二
$user = UserModel::getOne();


// @return array 结果集数组
// 方式一
$user = UserModel::model()->asArray()->one();
 
// 方式二
$user = UserModel::model()->one();
$user = $user->toArray();


// 方式一
$user = UserModel::model()->where(['id' => 1])->one();
  
// 方式二
$user = UserModel::getOne(['id' => 1]);
 
// 方式三
$user = UserModel::getOne(1); // 主键查询


// @return 关联的模型对象或对象数组,取决于hasOne还是hasMany
// 方式一
$log = UserModel::getOne(1)->getLog();
 
// 方式二
$log = UserModel::getOne(1)->log;
 
// 模型中关联写法
class UserModel extends \newx\orm\base\Model
{
    // 关联Model_Log
    public function getLog()
    {
        return $this->hasOne(
            LogModel::className(), // 关联表类名
            'user_id', // 关联表字段名
            'id' // 本表字段名
        );
    }
}


// 左连接
$user = UserModel::model()
    ->leftJoin(
        'table name', // 连接表名
        'join field', // 连接表字段名
        'self field' // 本表字段名
    )
    ->all();
 
// 右连接
$user = UserModel::model()->rightJoin('table name', 'join field', 'self field')->all();
 
// 内连接
$user = UserModel::model()->innerJoin('table name', 'join field', 'self field')->all();


$db = NewxOrm::getDb();
 
// 查询 @return array
$db->query($sql);
 
// 增删改 @return int
$db->execute($sql);


$db = NewxOrm::getDb();
 
// 开启事务 @return bool
$db->beginTransaction();
 
// 提交事务 @return bool
$db->commit();
 
// 事务回滚 @return bool
$db->rollback();