关联模型的问题!
时间:2011-04-08
来源:互联网
有这两种情况
1 是官方demo 中的例子,很明白,也很容易理解,是以用户ID映射其他表!
还有一种情况,我也想通过关联来实现,但是不成功
这样的,
有两张表
一张是 用户表,主键为ID,其他的列都是男女,生日之类的信息
一张表是好友表
是这么设计的
ID
UID
FID
现在有这么一个需求
得到当前用的所有好友
写SQL很简单,要么一个关联SQL,两张表一起查,显示出来是FID 对应的名字,要么2个SQL,第一个是FID,第二个是把fid翻译成名字
这个时候,我也想用关联模型实现,但是总是搞不定,
大概就是这样子,好友的模型是
class FriendModel extends RelationModel
{
protected $_link = array(
'Member'=>array(
'mapping_type'=>HAS_ONE,
'class_name'=>'Member',
'foreign_key'=>'id'
)
);
}
使用是
$user = $friend->relation('Member')->select();
打出来的数据是
Array ( [0] => Array ( [id] => 1 [uid] => 38 [fid] => 39 [Member] => ) [1] => Array ( [id] => 2 [uid] => 38 [fid] => 40 [Member] => ) )
管理之后的SQL 却是 SELECT * FROM `stf_member` WHERE 1=1 AND id='2'
为什么用的是‘2’ 2 是好友表的主键,正确的情况下应该是用 FID。 难道thinkphp 的关联模型中,只能使用当前模型的主键做为查询条件吗??这倒符合官方给出的例子!
请大家指教
=============================
得了,果然是 2 的来源就是好友表的主键,我把好友表的主键改成了FID 就对了,可是 这么做不合适啊!!!! 或者有别的设置,我没做!!!!!
继续请教!!
作者: syy870714 发布时间: 2011-04-08
我自己顶上去,这个挺有用的啊
作者: syy870714 发布时间: 2011-04-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28