ThinkPHP5.1教程及问题汇总

目录:

一、基础知识:

二、教程收藏:

三、使用技巧:


正文:

一、基础知识

完全开发手册(API):https://www.kancloud.cn/manual/thinkphp5_1/353946

视频教程:https://www.bilibili.com/video/av23313630/?p=1(博客项目实战,推荐有后台项目经验或PHP学习经验者学习,php初学者不太适合)

二、教程收藏

1.ThinPHP关联模型详解:https://www.cnblogs.com/guoyachao/p/6830171.html

三、使用技巧

1.查询过程中只查询某些字段,使用field()方法:

eg:在student表中只查询id,name,age字段:

$result = model('Student')->field('id,name,age')->select();

2.关联查询中只查询关联表的某些字段,使用withField()方法:

eg:关联查询班级表的id和name:

先在model中定义一个关联模型:

pubilc function sClass()  //避免使用class关键字
{
    //参数:关联表,外键id,主键id
    return $this->belongsTo('Class', 'class_id','id');
}

在查询的时候使用关联模型:

$result = model('Student')->field('id,name,age')->with(['sClass'=>function($query){
    $query->withField('id','name');
}])->select();

3.Ajax分页返回数据:

我们都知道,现在主流的前后端分离的开发,交互数据一般都是用ajax,但是tp5提供的paginate方法返回的数据只能通过render()渲染,这样对于前端分页来说非常不方便,所以我们就需要稍微修改一下代码,获得后台返回的分页数据。

操作流程:

前端正常,传递查询的参数和页码(page);

后端需要修改下paginate方法的参数,代码如下($where查询条件略):

$result = model('Student')->field('id,name')->where([$where])->paginate(10, false, [
                'page' => input('post.page')
            ]);
return json($result);

这样,前端就可以用返回的json数据渲染页面了。


你可能感兴趣的:(PHP)