Thinkphp5模型和Db数据操作要点分析
2017-12-14ThinkPHP
随着thinPHP5的发布,tp框架也是有一个非常大的变化,较以往的3版本还是有很多地方不一样的。现在小编就要数据查询方面,写个个人笔记记录下thinPHP5数据查询的使用方法。
随着thinPHP5的发布,tp框架也是有一个非常大的变化,较以往的3版本还是有很多地方不一样的。现在小编就要数据查询方面,写个个人笔记记录下thinPHP5数据查询的使用方法。
1.DB数据操作方法:使用Db时记得引用use thinkDb;
namespace appindexcontroller; use thinkController; use thinkDb; class Index extends Controller{ public function index(){ //数据库查询操作 //返回一条记录并且是一维数组 $res=Db::table('tp_article')->where(['aid'=>17])->select(); //返回一条记录并且是一维数组 $res=Db::table('tp_article')->find(); //返回一条记录,并且返回某个字段记录值 $res=Db::table('tp_article')->value('title'); //数据库添加操作 $db=Db::name('link'); $res=$db->insert([ 'lname'=>'不言不语', 'url'=>'http://www.100txy.com', 'is_show'=>1 ]); //数据库更新操作 $db=Db::name('link'); $res=$db->where([ 'lid'=>5 ])->update([ 'lname'=>'雷小天', ]); //生成sql语句 // $db=Db::name('link'); // $res=$db->where([ // 'lid'=>5 // ])->buildSql(); // dump($res); } }
2.模型引用方法:在控制器中使用模型时,记得先要定义模型,再引用模型。引用模型可以是单个,也可以是多个引用方法。如:use appindexmodeUser这种就是单个引用,而use thinkLoader则是多个模型引用,这种方法一般是控制用到多个模型的调用。
//定义模型 user.php } //控制器中使用模型 namespace appindexcontroller; use thinkController; use thinkDb; use appindexmodelUser;//调用模型 // use thinkLoader;//应用于多个模型调用 class Index extends Controller{ public function index(){ //下面是调用模型 $res=User::get(1);//1,2方法推荐,get中的1是主键的值 //2方法: $user=new User; //3方法:$user=Loader::model("User"); //4方法:$user=model("User");//此助手方法可以不引用任何model //$res=$user->get(1); $res=$res->toArray(); dump($res); } }
2.模型数据操作方法:
//控制器中使用模型 where("id","eq","1"); }); //user::where方法获取id=1获取一条数据 $res=User::where("id",1) ->find(); //根据字段获取,当然第一个闭包函数方法也是可以的 $res=User::where("id",1) ->filed("id,username") ->find(); $res=$res->toArray(); dump($res); } //获取多条数据 public function index2(){ //一般数组方法 $res=User::all("1,2,3");//可以是数组里面$res=User::all([1,2,3]); foreach($res as $val){ dump($val->toArray()); //打印出多条一维数组 } //闭包函数 $res=User::all(function($query){ $query->where("id","field("id,email"); }); foreach($res as $val){ dump($val->toArray()); //打印出多条一维数组 } //select函数方法 $res=User::where("id","field("id,email") ->select(); foreach($res as $val){ dump($val->toArray()); //打印出多条一维数组 } } //获取字段数据 public function index3(){ //单条字段数据 $res=User::where("id",2)->value("email"); //一列字段(以key->val)形式数据 $res=User::column("id,email"); dump($res); } }
很赞哦! ()