所以基本上我正在使用的是一个充满电话号码的数据库。
如果我从该电话数据库中获得其中一个用户,并且他们注册到我的网站,我想自动关联已存在的数据库中的数字,一旦用户签名,我将如何将这两个表连接在一起吗?
答案 0 :(得分:1)
假设您有电话号码表和用户表,则需要将两个表的主键存储在一起
你可以这样做:
正确的选择取决于您尝试建模的数据之间的关系。
答案 1 :(得分:0)
因此,数据库将使用合成来构建。保留phone_numbers
表w / phone_number_id
,users
表w / user_id
,然后customer_phone_numbers
表将user_ids映射到phone_number_ids。然后您的PHP代码将执行以下操作:
<?php
$user->save(); // save normal user data
$phoneNumbers = array();
foreach($user->getPhoneNumbers() as $phoneNumber) {
$phoneId = getPhoneNumberId($phoneNumber); // get the phone number, or save a new record if necessary, and return that number
$phoneNumbers[] = $phoneId;
}
$user->savePhoneNumbers( $phoneNumbers ); // adds or removes phone numbers as necessary
编辑:根据您的反馈,听起来并不像您只是在寻找一种关联数据的方法。如果我理解正确,用户将通过手机注册您的网站,然后在网站上注册。当发生这种情况时,您希望将两个注册组合在一起。
用户是否可以通过手机创建完整的个人资料?您是否有适当的流程来验证用户提供的电话号码是否真的属于他们?
如果用户没有通过手机创建完整的个人资料,则听起来有两种类型的“个人资料”存储,完整的网站个人资料和电话个人资料。通过这种方式,您将获得具有phone_profile_id
的电话配置文件和具有user_id
的常规用户记录。然后,让用户验证他们的电话信息,并使用上面的组合表将他们与phone_profile_id
相关联。
这有点接近吗?
谢谢, 乔