在模型层中进行处理业务逻辑,进行与数据库的数据的操作
use thinkDb;
use thinkModel;
class Banner extends Model
{
/**
* @param $id
* @return null
*/
public static function getBannerById($id)
{
在banner_item表中 查询获取所有banner_id字段
原生sql
- 运行速度快
- 对比链式查询显得麻烦
- 一般超大型项目追求极致性能使用原生sql语句
$result = Db::query('select * from banner_item where banner_id=?', [$id]);
TP5的链式查询
- 框架运行稍微降低查询速度
- 方便,易于理解,使用灵活,提高代码编写速度,降低sql语句错误率
- 满足大多数项目
$result = Db::table('banner_item')->where('banner_id', '=', $id) ->select(); //where('字段名','表达式','查询条件')
对象关系映射查询
- 在TP5中链式查询的基础上,使用面向对象的思想
- 过于高深,还在学习,后面补充
$result = Db::table('banner_item')
->where(function ($query) use ($id)
{
$query->where('banner_id', '=', $id);
})
->select();
//ORM Object Relation Mapping 对象关系映射 模型
return $result; } }
正在学习中,在此记录学习过程中的个人理解,如有错误或更好的理解望指出。