BannerModel::with()疑问

来源:7-12 几种查询动词的总结与ORM性能问题的探讨

慕粉0057536294

2017-09-13

疑问1:
   $banner =   BannerModel::with('items')->all( $id );
   $banner =   BannerModel::with('items')->get( $id );
   
   使用了with()时,同时使用 all()、get()方法会报错    method not exist:think\db\Query->all    method not exist:think\db\Query->get

的确是Db类不存在 get()/all() 方法,这是为什么?
为什么加了个with() BannerModel模型变成了Db类?

写回答

1回答

7七月

2017-09-13

这个就是with方法的作用啊,如果想知道具体原因,TP是开源的开一下with方法的实现,一切就豁然开朗了。

0
1
慕粉0057536294
您的意思是: 加了with()连贯方法的话,就会将BannerModel模型由Model类变成Db类? 嗯,我会用断点去看看得,感谢! 还有就是我还又另外一个疑问,以下我的总结是否正确呢? 老师,麻烦您了。 /* 含有外键的表,一般去关联其它一对一,一对多的表时,一般使用的是 belongsTo/belongsToMany 不含外键的表,一般去关联其它一对一,一对多的表时,一般使用的是 hasOne/hasMany */
2017-09-13
共1条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程