TP5对数据库的操作个人学习过程中的理解分析

在模型层中进行处理业务逻辑,进行与数据库的数据的操作

use thinkDb;
use thinkModel;

class Banner extends Model
{
    /**
     * @param $id
     * @return null
     */
    public static function getBannerById($id)
    {

在banner_item表中 查询获取所有banner_id字段

原生sql

  1. 运行速度快
  2. 对比链式查询显得麻烦
  3. 一般超大型项目追求极致性能使用原生sql语句

 

$result = Db::query('select * from banner_item where banner_id=?', [$id]);

TP5的链式查询

  1. 框架运行稍微降低查询速度
  2. 方便,易于理解,使用灵活,提高代码编写速度,降低sql语句错误率
  3. 满足大多数项目

 

$result = Db::table('banner_item')->where('banner_id', '=', $id) ->select(); //where('字段名','表达式','查询条件')

对象关系映射查询

  1. 在TP5中链式查询的基础上,使用面向对象的思想
  2. 过于高深,还在学习,后面补充

 

$result = Db::table('banner_item')

             ->where(function ($query) use ($id)

            {

                     $query->where('banner_id', '=', $id);

           })

          ->select();

//ORM Object Relation Mapping 对象关系映射 模型

 

return $result; } }

正在学习中,在此记录学习过程中的个人理解,如有错误或更好的理解望指出。

原文地址:https://www.cnblogs.com/zzw555/p/9432920.html