thingsolution/thingorm

PHP的ORM框架

dev-master 2017-06-30 09:41 UTC

This package is not auto-updated.

Last update: 2024-09-23 07:27:52 UTC


README

这是一个小型的库,可以自动地将查询和映射结果构建到您的实体对象中。

1. 构建查询。

###1.1 构建选择查询

$query = MySqlQuery::select(['id','name','address'])
    ->from("user")
    ->rightJoin('user_info','user.id','=','user_info.user_id')
    ->where('id','>','3')
    ->whereIn('id',['2','3'])
    ->whereNotIn('id',['3','4'])
    ->whereNull('address')
    ->whereNotNull('name')
    ->whereBetween('name','4444','5555')
    ->whereNotBetween('name','6666','7777')
    ->groupBy('id')
    ->groupBy('name')
    ->having('id','>',30)
    ->having('id','>',30)
    ->orderBy('id','desc')
    ->limit(10)
    ->offset(20);

###1.2 构建更新查询

$query = MySqlQuery::update()->table("user")
    ->set(['id'=>'1','name'=>'22323'])
    ->innerJoin('user_info','user.id','=','user_info.user_id')
    ->where('name','=','sdsdsd')
    ->where('id','=','2222')
    ->orderBy('name','desc')
    ->limit(10);

###1.3 构建删除查询

$query = MySqlQuery::update()->delete()
    ->from('user')
    ->innerJoin('user_info','user_id','=','id')
    ->where('id','=','ssd')
    ->where('name','=','sdsds');

###1.4 构建插入查询

$query = MySqlQuery::insert()->into('user')
    ->values(['id'=>'sdsds','name'=>'sdsdsd','created_at'=>array('now()')])
    ->generateSQL();

###1.5 构建批量插入查询

$query = MySqlQuery::batchInsert()->into('user')
    ->values([
        ['name'=>'sdsds','address'=>'wewew','created_at'=>array('now()')],
        ['name'=>'asasa','address'=>'dfdfdf','created_at'=>array('now()')],
        ['name'=>'gggdg','address'=>'sddfsf','created_at'=>array('now()')]
        ])

##2. 在ThingORM中如何使用一些MySQL函数。例如,您想在插入查询中使用函数 now(),只需使用这个函数通过 array(now()) 如此使用即可

$query = MySqlQuery::insert()->into('user')
    ->values(['id'=>'sdsds','name'=>'sdsdsd','created_at'=>array('now()')])
    ->generateSQL();