laravel基础课程---13、数据库基本操作2(lavarel数据库操作和tp对比)

一、总结

一句话总结:

非常非常接近:也是分为两大类,原生SQL数据库链式操作
学习方法:使用时 多看手册即可 ,【和tp的区别不大,功能增加了很多,文档更加完善

1、数据最基础的链式操作?

注意这里找表是table方法:\DB::table("user")->where("id",'=',3)->first();

2、lavarel数据库操作中如何获取某列的值?

$titles = DB::table('roles')->pluck('title');

若你想要获取一个包含单个字段值的数组,你可以使用 pluck 方法。在这个例子中,我们将取出 roles 数据表 title 字段的数组:

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {
echo $title;
}

你也可以在返回的数组中指定自定义的键值字段:

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {
echo $title;
}

3、lavarel数据库操作中如何从数据表中获取单个列或行?

value方法获取单个字段:$email = DB::table('users')->where('name', 'John')->value('email');
first方法获取单行数据:$user = DB::table('users')->where('name', 'John')->first();

若你只需从数据表中取出单行数据,则可以使用 first 方法。这个方法会返回单个 StdClass 对象:

$user = DB::table('users')->where('name', 'John')->first();

echo $user->name;

若你不想取出完整的一行,则可以使用 value 方法来从单条记录中取出单个值。这个方法会直接返回字段的值:

$email = DB::table('users')->where('name', 'John')->value('email');

4、lavarel数据库操作中如何 取出 id为1的一条数据?

find(1):发现ID是1的数据

5、lavarel数据库操作中如何 操作数千条数据库记录(结果分块)及实例?

使用 chunk 方法。这个方法一次只取出一小「块」结果,并会将每个区块传给一个闭包进行处理:
分块实例:比如每次处理 100 条记录:DB::table('users')->orderBy('id')->chunk(100, function($users) {

若你需要操作数千条数据库记录,则可考虑使用 chunk 方法。这个方法一次只取出一小「块」结果,并会将每个区块传给一个闭包进行处理。这个方法对于要编写处理数千条记录的 Artisan 命令 非常有用。例如,让我们将整个 users 数据表进行分块,每次处理 100 条记录:

DB::table('users')->orderBy('id')->chunk(100, function($users) {
foreach ($users as $user) {
//
}
});

你可以从闭包中返回 false,以停止对后续分块的处理:

DB::table('users')->orderBy('id')->chunk(100, function($users) {
// Process the records... return false;
});

6、lavarel数据库操作中如何 取某个字段两个之间的值?

where+数组条件:\DB::table("user")->where([['id','>=',2],['id','<=',5]])->get();
whereBetween:$data=\DB::table("User")->whereBetween('id',[10,15])->get();

7、lavarel数据库操作中如何 判断字段是否为空?

whereNull方法+get方法:$data=\DB::table("User")->whereNull("pass")->get();
whereNull 和 whereNotNull
$data=\DB::table("User")->whereNull("pass")->get();
$data=\DB::table("User")->whereNotNull("pass")->get();

8、lavarel数据库操作中如何 判断字段是否在某个数组中?

whereIn方法:$data=\DB::table("User")->whereIn("id",[2,5,12,15])->get();
whereIn 和 whereNotIn
$data=\DB::table("User")->whereIn("id",[2,5,12,15])->get();
$data=\DB::table("User")->whereNotIn("id",[2,5,12,15])->get();

9、lavarel数据库操作中如何 获取某个表所有数据?

get方法:$users = DB::table('users')->get();
    public function index()
{
$users = DB::table('users')->get(); return view('user.index', ['users' => $users]);
}

10、lavarel数据库操作中如何 使用mysql原生函数?

DB:raw方法:表达式会被当作字符串注入到查找:DB::table("User")->select(DB::raw("count(*) tot"))->first();

11、lavarel数据库操作中如何 查询特定字段?

select方法:有点相当于tp的field字段:->select('users.*', 'contacts.phone', 'orders.price')
$users = DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->join('orders', 'users.id', '=', 'orders.user_id')
->select('users.*', 'contacts.phone', 'orders.price')
->get();

12、lavarel数据库操作中如何 从数据库 指定偏移处截取多少个?

offset方法:表示偏移
limit方法:表示截取几个

13、lavarel数据库删除操作中 where条件和update的位置关系 ?

where要放在update前面,不然可能出错
DB::table('users')
->where('id', 1)
->update(['votes' => 1]);

二、内容在总结中

 

laravel基础课程---13、数据库基本操作2(lavarel数据库操作和tp对比)的更多相关文章

  1. laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)

    laravel基础课程---9.视图(lavarel的模板语法和tp相比怎样) 一.总结 一句话总结: lavarel的模板语法比thinkphp好用很多:和html代码配合的更好 lavarel比t ...

  2. laravel基础课程---16、数据迁移(数据库迁移是什么)

    laravel基础课程---16.数据迁移(数据库迁移是什么) 一.总结 一句话总结: 是什么:数据库迁移就像是[数据库的版本控制],可以让你的团队轻松修改并共享应用程序的数据库结构. 使用场景:解决 ...

  3. laravel基础课程---10、数据库基本操作(如何使用数据库)

    laravel基础课程---10.数据库基本操作(如何使用数据库) 一.总结 一句话总结: 1.链接数据库:.env环境配置里面 2.执行数据库操作:DB::table('users')->up ...

  4. laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)

    laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...

  5. laravel基础课程---12、lavarel的ajax操作2(lavarel的ajax使用总结)

    laravel基础课程---12.lavarel的ajax操作2(lavarel的ajax使用总结) 一.总结 一句话总结: 比较简单:就是js请求ajax,然后控制器获取请求参数,返回数据即可 1. ...

  6. laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)

    laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...

  7. laravel基础课程---14、表单验证(lavarel如何进行表单验证)

    laravel基础课程---14.表单验证(lavarel如何进行表单验证) 一.总结 一句话总结: lavarel的验证的功能比tp要[简单]且[强大]很多 直接控制器中:添加[规则数组]和[修改提 ...

  8. laravel基础课程---8、laravel响应和视图(响应是什么)

    laravel基础课程---8.laravel响应和视图(响应是什么) 一.总结 一句话总结: 就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类 ...

  9. laravel基础课程---6、请求(如何获取当前 HTTP 请求的实例)

    laravel基础课程---6.请求(如何获取当前 HTTP 请求的实例) 一.总结 一句话总结: 依赖注入:通过依赖注入的方式来获取当前 HTTP 请求的实例:public function sto ...

随机推荐

  1. Android设计中的尺寸问题

    Android把屏幕大小分成四种:small, normal, large, xlarge; 屏幕密度分成:low(ldpi), medium(mdpi), high(hdpi), extra hig ...

  2. css:清除浮动 overflow

    是因为overflow除了(visible)会重新给他里面的元素建立块级格式化(block formatting context)floats, position absolute, inline-b ...

  3. WPF自定义依赖集合属性无法触发更新的问题

    通常WPF中通过继承UserControl的来快速创建自定义控件,最近项目上需要设计一个卫星星图显示控件,最终效果如下图所示.完成过程中遇到了自定义集合依赖属性无法触发更新通知的问题,在此记录一下,方 ...

  4. VueJS构造器:new Vue({})

    构造器 每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例来启动的: var vm = new Vue({ // 选项 }) 属性与方法 每个 Vue 实例都会代理其 dat ...

  5. window.close关闭当前页面

    浏览器处于安全策略考虑,只允许Javascript关闭由javascript打开的页面,为了用js关闭当前窗口,我们可以这么考虑,这也是最常用的做法. <a href="javascr ...

  6. Android Activity间动画跳转

    本博文主要介绍activity间动画跳转的问题,在这里讲一下怎么设置全部activity的动画跳转和退出跳转.事实上有些软件已经这样做了.比方我们都比較熟悉的大众点评网. 以下我们通过一个实例来看一下 ...

  7. uwsgi报错:listen queue of socket ...

    Linux默认的socket链接为128,uwsgi默人的链接为100 需要修改系统默认的配置参数, 然后修改uwsgi配置:listen参数:1024

  8. 网络工具的瑞士军刀netcat

    这是一个聒噪的夜晚,假设要给出个原因.可能是由于尽管我认为西班牙不纯粹,可是怎么也不至于干为人家搭台面自己不唱戏的角色吧..结束以后.我认为该玩一下素有网络瑞士军刀之称谓的netcat了. 尽管瑞士军 ...

  9. spring中xml配置和autowired混用

    1.类的混用: 配置文件中的配置: <bean id="a" class="com.ab.cc.A" /> 类中的配置 @Autowired A a ...

  10. python学习(六)元组学习

    元组就是列表的一种,不过元组具有不可变性,而且是用圆括号访问的. 索引(下表索引或者键索引都是用的中括号) #!/usr/bin/python # 这节来学习元组, tuple, 基本上就像一个不可以 ...