这世界只有三种关系
1.一对一
2.一对多
3.多对多
实际上,男女的世界里,也是这样
一些基础的规则
1.因为一个巴掌拍不响。但是,除非必要,只需要再其中一个模型中,写关联方法就好。
2.因为我是男人,我就是把主表,想象成男人。附表想象成女人。
在以上基础上,对关联的理解分别是:
1.一对一:一个男人hasone一个女人,一个女人belongsto多一个男人
2.一对多:一个男人hasmany多个女人,一个女人belongsto
3.多对多:这是一个混乱但有序的世界,一个男人同时hasmany女人,而一个女人,belongsToMany男人
别人一篇文章,继续加深这些知识
1、在模型中,类似多个评论对应一个用户,为一对多的关系
一般来说,关系类型包含了以下几种
一对一关联:HAS_ONE 以及相对的 BELONGS_TO
一对多关联:HAS_MANY 以及相对的 BELONGS_TO
多对多关联:BELONGS_TO_MANY
2、完成模型的步骤主要有:
① 创建User模型
② 创建comment 模型(评论模型,以评论为例)
③ 在User模型添加方法
④ 在comment模型添加方法
3、User模型的代码部分
<?php
namespace app/index/model;
use think/Model;
Class User extends Model{
//定义关联方法
public function comm(){
return $this->hasMany('comment','uid','user_id');
}
}
4、User控制器的代码部分:关系模型的查询
<?php
Class User extends Controller{
public function test19(){
$user = new User;
//获取User对象的属性
echo $user->nickname;
$user->comm;
foreach($user->comm as $comm);
echo $comm->comment_id;
echo $comm->content;
}
}
5、关系模型的插入:
<?php
Class User extends Controller{
public function test19(){
$user = User::get(1);
$comment = new Comment;
$conment->content = 'tp教程';
$conment->add_time = time();
$user->comm()->save($conment);
return '插入成功'
}
}
批量插入方法
<?php
Class User extends Controller{
public function test19(){
$user = User::get(1);
$comment = new Comment;
$comment=[
['content' => 'tp5视频','add_time'=>time()];
['content' => '一块钱一个', 'add_time'=>time()];
]
$user->comm()->save($comment);
return '插入成功'
}
}