
预加载:
主要还是对一对多的模型 *** 作进行分析
一对多,需要关联的表设置关联字段即可
例:一张user表,一张role表,role为关联的表
那么给role这个表设置字段user_ID
一对多的应用场景主要是:
当有一篇文章有多个评论时
例:article表和comment
这时就需要进行模型的关联 *** 作一对多,我们给comment设置一个字段为article_ID
使用$this->hasMany('comment','article_ID','ID');即可
一对一的应用场景:
当有一个用户有自己唯一的资料时
例:user表和info表
这时我们就需要进行模型的关联 *** 作一对一,我们给user表设置一个字段为info_ID
使用$this->hasOne('info','ID','info_ID');即可
而预加载就是将关联查询的数据进行了自动分层,不需要我们在处理数据结构
数据库结构
1.模型
<?PHPnamespace app\model;use think\Model;class User extends Model{ protected $table = 'tp_user'; public function user() { /* * 参数一:关联的模型名 * 参数二:关联的模型的ID * 参数三:当前模型的关联字段 * */ // return $this->hasOne('Role','role_ID'); return $this->hasMany('Role','user_ID','ID'); }} 2.控制器代码
$data = User::with('user')->select(); dump($data); 3.结果
总结以上是内存溢出为你收集整理的tp5.1关联预加载 -- 并再次解释模型的关联全部内容,希望文章能够帮你解决tp5.1关联预加载 -- 并再次解释模型的关联所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)