Laravel数据库的增删改查操作

<?php
//声明当前类的命名空间
namespace App\Http\Controllers;
//引入Request空间元素 
use Illuminate\Http\Request;
use Input;
use DB;
use App\Member;
//声明TestController类,并继承Controller类
class TestController extends Controller
{
    //
  /*public function test1()
  {
  	//test1中输出phpinfo信息
        //phpinfo();


  }*/


 /*public function add()
  {
  	    //DB类在控制器中的使用,数据库系统自带的
       // dump(DB::table('member'));
       // 模型类在控制器中的使用
       //dump(Member::get());
       
  }*/
//构建查询方法,方法名要与web.php中的方法名对应
//public function select(){
//输出模型类中数据库的所有字段数据操作  利用all或者get方法
//dump(Member::all());
//dump(Member::get());

//输出DB类中数据库的所有字段数据操作  利用all或者get方法
//dump(DB::table('member')->get());
//dump(DB::table('member')->all());//DB类用all查member表所有的,不可以
//}


//**增加操作**
//public function add(){
//利用DB类查询member
//dump(DB::table('member'));
//利用实例化模型类查询member
//$model = new Member;
//dump($model);


//先试用insert,可以添加一条或多条记录
//利用模型类
/*dump(Member::insert([
['name' => '张三','age' => 18,'email' => '000@qq.com'],
['name' => '张速','age' => 19,'email' => '001@qq.com']
]));*/

//利用DB类
/*dump(DB::table('member') -> insert([
['name' => '张8','age' => 18,'email' => '00@qq.com'],
['name' => '张5','age' => 19,'email' => '002@qq.com']
]));*/


//使用insertGetId
//利用模型类
/*dump(Member::insertGetId(
['name' => '张三','age' => 18,'email' => '000@qq.com']
));*/

//利用DB类
/*dump(DB::table('member') -> insertGetId(
['name' => '张5','age' => 19,'email' => '002@qq.com']
));*/
//增加操作:不需要实例化,也可以,不过麻烦,直接静态调用就可以了

//}


//**修改操作** 
//涉及方法名:udate where系列
//语法:
//DB::table(xxxx) ->where系列() -> update(一维数组);
//Model::where系列() -> update(一维数组);

//where的用法('字段名','运算符','字段值')



//public function mod(){
//利用模型类
//将name为张三的改为张三丰
//dump(Member::where('name','张三丰') -> update(['name' => '张三疯']));
//where update  不能互换位置
//将邮箱包含170的年龄改为3岁
//dump(Member::where('email','170@qq.com') -> update(['age' => '3']));

//利用DB类
//把name为张8的改为张88
//
//dump(DB::table('member')-> where('name','张8') -> update(['name' => '张88']));



//得出结论:修改操作,其返回值是受到影响的行数

//}



//**查询操作**
//get:表示查询所有的数据
//all:表示查询所有的数据
//value:只获取单个字段的值
//find:查询单个记录
//以上这些位置不可动,只能放在最后
//------------------------------
//where:条件限制
//orderBy:排序
//select:选择需要的字段
//limit:限制输出记录数 
//offset:表示偏移量,配合limit一起使用
//以上这些位置可以动
//
//语法:DB::table() ->相关的辅助方法() ->最终查询方法();
//语法:Model::相关的辅助方法() ->最终的查询方法();
//
//
//注意点:
//1.相关辅助方法可以是多个,但必须在最终方法之前
//2.all 方法前不能有任何辅助方法,也包括DB后面的table方法,因此all方法只能在 模型后使用;  Member::all();
//public function select(){
//使用all和get查询全部数据(观察all与get的区别)
//这就不做了前面已经做了,忘了的话,可以往前找找
//结论:1.DB查询的时候用all会报错(使用了DB方法就不能使用all方法)
//DB查询,返回内容比较直观的对象
//模型返回的对象是模型对象
//建议统一使用对象调用属性形式【不容易混淆】

//查询id为3的记录
//模型类查询
//dump(Member::find(3));
//DB类查询
//dump(DB::table('member') -> find(3));
//find() 括号里面的参数如果是数字的话,直接加数字,不是数字的话,要加引号

//查询id为3用户的邮箱(使用value方法)
//dump(Member::where('id','3') ->value('email'));
//dump(DB::table('member') -> where('id','3') ->value('email'));

//查询id大与2的用户的名字和年龄,并且按照id降序排列
//dump(Member::where('id','>','2') ->select('name','age') ->orderBy('id','desc') ->get());die;
//dump(DB::table('member') ->where('id','>','2') ->select('name','age') ->orderBy('id','desc') ->get());die;
//
//从第二条记录开始向后查询2条记录(分页案例)
//dump(Member::limit(2) -> offset(2) ->get());die;

//}

//删除操作
在做项目的时候一般不会真的使用真删除操作,所以仅作了解。基本都是假删除,会在数据表中添加一个类似于
“status”的字段,用于标记 记录是否显示/可用,这种删除称之为逻辑删除。【逻辑删除的本质是修改】

方法:delete
语法:
DB::table('') ->where() ->delete();
Model::where() -> delete();



执行任意的SQL语句(补充了解)
(1)执行原生查询语句
DB::select("select语句")//括号里写sql语句
DB::insert("insert语句")//括号里写sql语句
DB::update("update语句")//括号里写sql语句
DB::delete("delete语句")//括号里写sql语句
DB::statement("statement语句")//括号里写sql语句

}







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值