使用thinkphp 关联模型has_one插入数据问题:插入数据的时候只操作一张表为什么?

使用thinkphp关联模型has_one插入数据问题:插入数据的时候只操作一张表?附加表关联主表的外键是sid;具体内容主表附加表代码如下:1.sellerModel.... 使用thinkphp 关联模型has_one插入数据问题:插入数据的时候只操作一张表?附加表关联主表的外键是 sid;具体内容主表

附加表

代码如下:1.sellerModel.class.php<?phpclass sellerModel extends RelationModel{ protected $_validate = array( array('username', 'require', '{%username_require}'), //不能为空 array('username', '1,20', '{%username_length_error}', 0, 'length', 1), //用户名长度 array('password', '6,20', '{%password_length_error}', 0, 'length', 1), //密码长度 ); protected $_link=array( 'seller_other'=> array( 'mapping_type'=>HAS_ONE, //'class_name'=>'seller_other', //'mapping_name'=>'sother', //外键 'foreign_key'=>'id', ), );}?>2.sellerAction.class.php 文件<?phpclass sellerAction extends Action{ public function add(){ if($this->isPost()){ $res = $this->_mod->relation(true)->add($_POST); var_dump($res); } $this->display(); }}?>调试最终执行的sql语句是 只操作seller这种数据表。
展开
 我来答
乱世1嘉年华
2015-04-16 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:92
采纳率:0%
帮助的人:36.5万
展开全部
两张表没有关联到一块,TP中的关联模型 不好搞懂,只要是对主键和外键要求很严格。一般情况下,主键和外键 的默认id为 表名_id 你可以把表中外键 id 字段 设置成 表名_id 试试
追问
哪里不对呢?关联模型不是我那样定义的吗?
追答
两张表没有关联到一块,TP中的关联模型 不好搞懂,只要是对主键和外键要求很严格。一般情况下,主键和外键 的默认id为 表名_id    你可以把表中外键 id 字段 设置成 表名_id 试试
莘赡05V
2015-04-16 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
这是封装好的单表关联
追问
就是主表关联附加表,一对一模型插入数据操作,结果都插入主表了,附加表的都没有参与。为什么会这样呢?没用过关联模型,一直没搞定这种问题。。
追答
这种情况,你做两次插入,别用关联模型,has_one还好理解点,has_many简直坑爹,不一定非要用TP的这个关联模型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangmutian2
2015-04-16 · 超过10用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:16.2万
展开全部
同事添加了两条SQL语句,分别插入两个表里试试
追问
问题就出在,关联模型不插入附加表的数据,我用create方法,只能插入主表的数据,附加表的数据直接过滤了,只能手动再写一条插入附加表的操作。那这个关联模型就没有用了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式