龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

Laravel框架数据库CURD操作、连贯操作总结(3)

时间:2014-09-04 15:08来源:网络整理 作者:网络 点击:
分享到:
递增或递减一个列的值 复制代码 代码如下: DB::table('users')-increment('votes'); DB::table('users')-increment('votes', 5); DB::table('users')-decrement('votes'); DB::table('users')-dec

递增或递减一个列的值

复制代码 代码如下:

DB::table('users')->increment('votes');
DB::table('users')->increment('votes', 5);
DB::table('users')->decrement('votes');
DB::table('users')->decrement('votes', 5);

您还可以指定额外的列更新:

复制代码 代码如下:

  DB::table('users')->increment('votes', 1, array('name' => 'John'));

Inserts

将记录插入表

复制代码 代码如下:

DB::table('users')->insert(
array('email' => 'john@example.com', 'votes' => 0)
);

将记录插入表自动增加的ID

如果表,有一个自动递增的id字段使用insertGetId插入一个记录和检索id:

复制代码 代码如下:

$id = DB::table('users')->insertGetId(
array('email' => 'john@example.com', 'votes' => 0)
);

注意:当使用PostgreSQL insertGetId方法预计,自增列被命名为“id”。

多个记录插入到表中

复制代码 代码如下:

DB::table('users')->insert(array(
array('email' => 'taylor@example.com', 'votes' => 0),
array('email' => 'dayle@example.com', 'votes' => 0),
));

四、Updates

更新一个表中的记录

复制代码 代码如下:

DB::table('users')
->where('id', 1)
->update(array('votes' => 1));

五、 Deletes

删除表中的记录

复制代码 代码如下:

DB::table('users')->where('votes', '<', 100)->delete();

删除表中的所有记录

复制代码 代码如下:

DB::table('users')->delete();

删除一个表
复制代码 代码如下:

DB::table('users')->truncate();

六、Unions

查询构建器还提供了一种快速的方法来“联盟”两个查询:

复制代码 代码如下:

  $first = DB::table('users')->whereNull('first_name');
  $users =
DB::table('users')->whereNull('last_name')->union($first)->get();

  unionAll方法也可以,有相同的方法签名。

  Pessimistic Locking

  查询构建器包括一些“悲观锁定”功能来帮助你做你的SELECT语句。  运行SELECT语句“共享锁”,你可以使用sharedLock方法查询:

复制代码 代码如下:

DB::table('users')->where('votes', '>',
100)->sharedLock()->get();

更新“锁”在一个SELECT语句,您可以使用lockForUpdate方法查询:
复制代码 代码如下:

 DB::table('users')->where('votes', '>', 100)->lockForUpdate()->get();

七、缓存查询

精彩图集

赞助商链接