thinkphp中莫不是有语法定义一对多或一对一的关系吗

WBOY
Release: 2016-06-13 12:21:57
Original
1147 people have browsed it

thinkphp中难道有语法定义一对多或一对一的关系吗
下面的源码是一个家伙讲的,下面红色部分是我不理解的地方,请看:
/**
 * 用户与用户信息表关联模型
 */
Class UserRelationModel extends RelationModel {

//定义主表名称
Protected $tableName = 'user';

//定义用户与用户信处表关联关系属性
Protected $_link = array(
'userinfo' => array(
'mapping_type' => HAS_ONE,//  这里的HAS_ONE指的是一对一的关系,HAS_ONE是thinkphp语法 还是说是自定义的,如果是自定义的,这里的HAS_ONE实质是什么,据说HAS_MANY是一对多,所以太让人不可思议了,这里定义这玩意是为了什么呢
'foreign_key' => 'uid'  //这里是外键,这个地方的作用是啥?
)
);

/**
 * 自动插入的方法
 */
Public function insert ($data=NULL) {
$data = is_null($data) ? $_POST : $data;
return $this->relation(true)->data($data)->add();
}
}
?>
------解决思路----------------------
就是关联表。一对多,可以理解成主表对从表的操作。   多对1是从表对主表的操作。
TP的多对多模型不建议使用,有BUG。
一般处理这种关联关系,我还是建议使用拼接SQL语句来操作较好掌握。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template