Laravel
- 查询所有(返回的是 object 数组)
$data = DB::table('user')->get();
- 查询所有,并指定字段 推荐使第一种方式
$data = DB::table('user')->get(['name', 'age']);
- 查询单条数据
$ret = DB::table('member')->where('id', 5)->first();
- 获取一列数据
$ret = DB::table('member')->pluck('name');
- 分页操作
$ret = DB::table('member')->orderBy('id', 'desc')->offset(0)->limit(2)->get();
- limit:表示限制输出的条数
- offset:从什么地方开始,起始从0开始
- orderBy 排序 以ID来进行倒序排列
- 添加
- insert() 可以同时添加一条或多条,返回值是布尔类型。
$ret = DB::table('member')->insert([ ['name'=>'AAAA', 'age'=>20, 'email'=>'111@111.com'], ['name'=>'BBBB', 'age'=>30, 'email'=>'222@222.com'], ]);
- insertGetId() 只能添加一条数据,返回自增的id。 添加数据并得到插入时的ID值
$ret = DB::table('member')->insertGetId([ 'name' => '小华', 'age' => 60, 'email' => 'ff@ff.com' ]);
- insert() 可以同时添加一条或多条,返回值是布尔类型。
- 修改
$ret = DB::table('member')->where('id', 2)->update([ 'name' => '修改一下', 'age' => 50 ]);
- 删除
$ret = DB::table('member')->where('id', 2)->delete();
参考:https://www.cnblogs.com/konglingxin/p/11301544.html
ThinkPHP
方法1 根据 model 查询
<?php
// App/Lib/Model/UserModel.class.php
namespace Admin\Model;
use Think\Model;
class UserModel extends Model
{
}```
```php
<?php
// App/Lib/Action/UserAction.class.php
class ActionAction extends Action
{
public function index()
{
$user = new \Admin\Model\UserModel(); //表名为user,大小写一致。
$list = $user->select(); //查询此表的所有数据,数组的数组。
方法2 自动查找上面的 Model,使用 D 函数
此方法可自动找到此命名空间中的对应模型,效果与第一种相同。
$user= D("user");
$at = $user->select();
方法3 不用创建模型文件,自动造模型
$user= M("user");
$list = $user->select();
$admin= M("admins", null); // 不使用系统的统一表名前缀
$admin->add(['name' => 'admin1', 'email' => 'admin@gitee.com']);
其他语法
$user->find("12345"); // 根据主键值admin查找一条数据
$user->where("uid='admin'")->field("uid,name,pwd"); // 根据条件查找所有数据
$user->table("nation")->select(); // 切换表名为nation的表进行操作。
$user->order("code desc")->select(); //根据code降序排列
$user->limit("4,2")->select(); // 跳过四条数据,显示接下来的两天数据。
$user->page("3,2")->select(); // 每页两条数据,显示第3页。
$user->field("max(code)")->group("classcode")->select(); // 根据classcode分组,查询每组code最大的数据。
$user->field("max(code)")>group("classcode")>having("max(code)>2017000000")->select(); // 根据classcode分组,查询每组code最大且大于2017000000的数据。
$user->field("user.code as '代号', user.name as '姓名',nation.name as '班级'")->join("nation on user.code=nation.code")->select();
$user->distinct(true)->field("pwd")->select(); // 去重