zoukankan      html  css  js  c++  java
  • PHPActiveRecord 学习一

    #连接数据库

    <?php
    require_once dirname(__FILE__) . '/../../ActiveRecord.php';

    // initialize ActiveRecord
    ActiveRecordConfig::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 ActiveRecordModel
    {
      // 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));
      

  • 相关阅读:
    day9文件处理
    day8字符编码
    js小数乘法精确率问题
    webstorm上传vue代码至git
    vue项目关闭eslint检查
    MongoDB相关操作
    Redis持久化存储
    Redis 数据类型
    linux常用命令
    初识NoSQL
  • 原文地址:https://www.cnblogs.com/foreversun/p/6831598.html
Copyright © 2011-2022 走看看