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

WBOY
Freigeben: 2016-06-13 12:21:57
Original
1148 Leute haben es durchsucht

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语句来操作较好掌握。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage