Eyoucms程序开发:视图查询
视图查询可以实现不依赖数据库视图的多表查询,并不需要数据库支持视图,例如:
Db::view('User','id,name')
->view('Profile','truename,phone,email','Profile.user_id=User.id')
->view('Score','score','Score.user_id=Profile.id')
->where('score','>',80)
->select();
生成的SQL语句类似于:
SELECT User.id,User.name,Profile.truename,Profile.phone,Profile.email,Score.score FROM think_user User INNER JOIN think_profile Profile ON Profile.user_id=User.id INNER JOIN think_socre Score ON Score.user_id=Profile.id WHERE Score.score > 80
注意,视图查询无需调用
table和join方法,并且在调用where和order方法的时候只需要使用字段名而不需要加表名。
默认使用INNER join查询,如果需要更改,可以使用:
Db::view('User','id,name')
->view('Profile','truename,phone,email','Profile.user_id=User.id','LEFT')
->view('Score','score','Score.user_id=Profile.id','RIGHT')
->where('score','>',80)
->select();
生成的SQL语句类似于:
SELECT User.id,User.name,Profile.truename,Profile.phone,Profile.email,Score.score FROM think_user User LEFT JOIN think_profile Profile ON Profile.user_id=User.id RIGHT JOIN think_socre Score ON Score.user_id=Profile.id WHERE Score.score > 80
可以使用别名:
Db::view('User',['id'=>'uid','name'=>'account'])
->view('Profile','truename,phone,email','Profile.user_id=User.id')
->view('Score','score','Score.user_id=Profile.id')
->where('score','>',80)
->select();
生成的SQL语句变成:
SELECT User.id AS uid,User.name AS account,Profile.truename,Profile.phone,Profile.email,Score.score FROM think_user User INNER JOIN think_profile Profile ON Profile.user_id=User.id INNER JOIN think_socre Score ON Score.user_id=Profile.id WHERE Score.score > 80
可以使用数组的方式定义表名以及别名,例如:
Db::view(['think_user'=>'member'],['id'=>'uid','name'=>'account'])
->view('Profile','truename,phone,email','Profile.user_id=member.id')
->view('Score','score','Score.user_id=Profile.id')
->where('score','>',80)
->select();
生成的SQL语句变成:
SELECT member.id AS uid,member.name AS account,Profile.truename,Profile.phone,Profile.email,Score.score FROM think
相关文档
- 百度、搜狗停用快照,这一功能曾被不法者用于网络犯罪
- 做SEO优化时,为什么关键词密度和关键词排名密度不同?
- 洞悉大数据准确营销内涵,实现多样化传播效果
- 根据不同行业、不同地区及不同需求对网站进行全面营销推广分析
- 智能型营销网站建设的成功是离不开搜索引擎的优化协助
- 掌握大数据,准确营销可以做好吗?
- 掌握营销核心方法,快速实现全网霸屏营销
- 阐述不同类型网站做seo优化的目的及经验总结
- 获取准确客户意向,你需要借用网站优化+网络营销推广来实现
- 如何优化网站可以提高权重?
- 浅谈seo优化领域中,增长黑客与黑帽技术都是不可采取的优化方法
- 不做外链能把网站优化到百度首页吗
- 为什么说seo优化不仅是对网站推广?
- 虽然影响seo关键词排名稳定因素有很多的,但是通过seo白帽技术...
- 2019年电子商务seo业绩翻倍的实现方法就是利用大数据分析用户...
- 什么情况下可以修改网站的标题?
- 吸引游客报名参加旅游团可以通过五种网络营销策略来实现
- 做SEO优化不再纸上谈兵,如何将优化理论付诸于实战运营-
- 什么是SEO诊断?不会做排名怎么办
- 盲目过度优化网站只会有害无益,不如交给专业seo优化公司更靠谱
上一篇: Eyoucms程序开发:高级查询
下一篇: Eyoucms程序开发:子查询

