Maison > développement back-end > tutoriel php > thinkphp中难道有语法定义一对多或一对一的关系吗

thinkphp中难道有语法定义一对多或一对一的关系吗

WBOY
Libérer: 2016-06-23 13:32:32
original
1049 Les gens l'ont consulté

下面的源码是一个家伙讲的,下面红色部分是我不理解的地方,请看:
/**
 * 用户与用户信息表关联模型
 */
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语句来操作较好掌握。

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal