比如, 我们首先有一个article表
id(主键) | article_title | category_id(外键) | author_id | create_at |
1 | What's your name? | 3 | 2 | 1577177414 |
然后, 我们有一个category表
id(主键) | is_online(该分类是否上线, 1上线, 0下线) |
3 | 1 |
我们要查询: article表中的文章,
1.它的作者id是2;
2.它的对应分类在分类表中是上线的;
3.按照article表中create_at排序.
所以查出来的结果长这样
id | article_title | category_id | create_at |
1 | What's your name? | 3 | 1577177414 |
在ThinkPHP5中, 可以这样写
$data = db('article')
->alias('a') //给article表起一个别名
->join('category c', 'a.category_id=c.id AND c.is_online=1') //给category表也起个别名
->where('a.author_id', 'eq', 2)
->field('a.id,a.article_title,a.category_id,a.create_at')
->order('a.create_at')
->paginate(10);