ThinkPHP3.2.3关联操作的关联更新操作实例:
数据的关联更新和关联写入类似
$User = D("User"); $data["account"] = "ThinkPHP"; $data["password"] = "123456"; $data["Profile"] = array( 'email' =>'liu21st@gmail.com', 'nickname' =>'流年', ); $result = $User-> relation(true)->where(array('id'=>3))->save($data);
Relation(true)会关联保存User模型定义的所有关联数据,如果只需要关联保存部分数据,可以使用:
$result = $User->relation("Profile")->save($data);
这样就只会同时更新关联的Profile数据。
关联保存的规则:
HAS_ONE: 关联数据的更新直接赋值
HAS_MANY: 的关联数据如果传入主键的值 则表示更新 否则就表示新增
MANY_TO_MANY: 的数据更新是删除之前的数据后重新写入