Laravel 数据库操作总结

使用多个数据库

  1. 单个查询使用

    1
    DB::connection( <数据库配置名> );
  2. 更改默认数据库

    1
    DB::setDefaultConnection( <数据库配置名> );

原生语句

  1. 查询

    1
    2
    DB::select('select * from users where id = ?', [1]);
    DB::select('select * from users where id = :id', ['id' => 1]);

    select 返回一个数组,数组中的每条记录是一个 StdClass 对象

  2. 更新、删除

    1
    2
    DB::update('update users set votes = 100 where name = ?', ['John']);
    DB::delete('delete from users');

    updatedelete 返回影响的行数

  3. 通用语句

    1
    DB::statement('drop table users');
  4. 事务

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 自动回滚或提交
    DB::transaction(function () {
    <...>
    }, [ 死锁时最大重试次数 ] );
    # 手动
    DB::beginTransaction();
    DB::rollBack();
    DB::commit();

查询构造

多维数据筛选

  1. 所有数据 get
    1
    ->get()

一维数据筛选

  1. 获取第一条 first

    1
    ->first()
  2. 获取一列 pluck

    1
    2
    ->pluck( <字段名> )
    ->pluck( <值字段名>, <键字段名> )

单个值查询

  1. 单值 value
    1
    ->value( <字段名> )

<未完>