php的db类库Eloquent单独使用系列(1)_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > php的db类库Eloquent单独使用系列(1)

php的db类库Eloquent单独使用系列(1)

 2017/7/31 23:38:50  xieye  程序员俱乐部  我要评论(0)
  • 摘要:composer:"illuminate/database":"5.4.27","illuminate/events":"5.4.27"这个可不加载,但使用它提供的模型类就要加载。请注意,这个版本需要php5.6支持。表结构如下:CREATETABLE`test_databases`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`db_name`varchar(100
  • 标签:PHP 使用
composer:

"illuminate/database":"5.4.27",
"illuminate/events":"5.4.27" 这个可不加载,但使用它提供的模型类就要加载。

请注意,这个版本需要php5.6支持。

表结构如下:
class="java" name="code">
CREATE TABLE `test_databases` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `db_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '库名',
  `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '测试用户id',
  `created_at` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated_at` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `test_databases_db_name_user_id_unique` (`db_name`,`user_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci


insert into test_databases values(1,'哈哈',1,11,22);
insert into test_databases values(2,'嗯嗯',2,33,44);


示例:
<?php

namespace app\control;
use \Illuminate\Database\Capsule\Manager as Capsule;
// use \Illuminate\Events\Dispatcher;
// use \Illuminate\Container\Container;

class Ill {
   
 public function index( $req, $res, $args) {
       $capsule = new Capsule;
       $capsule->addConnection([
           'driver'    => 'mysql',
           'host'      => '127.0.0.1',
           'database'  => 'test',
           'username'  => 'root',
           'password'  => 'root',
           'charset'   => 'utf8',
           'collation' => 'utf8_unicode_ci',
           'prefix'    => '',
       ]);
       $capsule->setAsGlobal();
       $conn =$capsule; 
       echo "<h1>select(获取全部), (获取行)没有, fetchColumn没有</h1>";
       $users = $conn::select('SELECT * FROM test_databases limit 2');
       var_dump($users);
       echo "<hr>";
       //
       echo "插入示例<br>";
       $conn::insert('insert into test_databases (user_id, db_name) values (?, ?)', [time(), '汽车']);
     //  echo "插入id为:". $conn::insertGetId();
       echo "修改示例<br>";
      $result = $conn::update('update test_databases set user_id=user_id+'.mt_rand(10000,99999).
              ' where db_name=?', ['汽车']);
       echo "更新影响的行数:". $result."<br>";
       $result = $conn::delete('delete from test_databases where db_name=? limit 1', ['汽车']);
       echo "删除影响的行数:". $result."<br>";
       
       // 这里执行表结构定义,加减字段等语句
     //  DB::statement('drop table test_databases');
       echo "<h2>查询构造器使用</h2>";
       //获取行
       echo "<h5>获取单行</h5>";
       $user = $conn::table('test_databases')->where('id', 1)->first();
       
       echo $user->db_name."<br>";
       echo "<h5>获取单个值</h5>";
       echo $conn::table('test_databases')->where('id', 1)->value('db_name') . "<br>";
       echo "<h5>获取多行</h5>";
       $user = $conn::table('test_databases')->where('id','<', 3)->get();
       var_dump($user);echo "<br>";
       echo $user[0]->db_name."<br>";
       
       echo "<h5>获取一列数据</h5>";
       $titles = $conn::table('test_databases')->where('id','<', 3)->pluck("db_name");
       echo $titles[0];
       
       echo "<h5>插入数据</h5>";
       $id = $conn::table('test_databases')->insertGetId(
               ['db_name' => mt_rand(1000,10000), 'user_id' => mt_rand(1000,10000)]
       );
       echo "<h5>插入id:{$id}</h5>";
       
       echo "<h5>更新数据示例</h5>";
       $result = $conn::table('test_databases')
         ->where('id', 1)
         ->update(['user_id' => mt_rand(10,10000)]);
       echo "更新行数". $result;
         
       
       echo "<h5>删除数据示例</h5>";
       $result = $conn::table('test_databases')
         ->where('id', $id)
         ->delete();
       echo "删除行数". $result;
       return $res;
   }
}

上一篇: php的db类库Eloquent单独使用系列(2) - 分页 下一篇: 没有下一篇了!
发表评论
用户名: 匿名