#1 bsdos
我发现spLinker下,update时,只有hasone的状态下,子表才会被update到,其他2中情况,只有主表的内容被update,字表没有反应
class main extends spController
{
function index(){
$newrow = array(
'user_name' => "灰太狼",
'guestbook' => array( // 请注意这里对应的就是$linker的'map' => 'detail',也就是关联的标识
array('contents' => "草原上的王者1"),
array('contents' => "草原上的王者2") // 这里是增加到对应表上的数据
),
);
$changerow = array(
'user_name' => "灰太狼改",
'guestbook' => array( // 请注意这里对应的就是$linker的'map' => 'detail',也就是关联的标识
array('contents' => "改1草原上的王者"),
array('contents' => "改2草原上的王者") // 这里是修改到对应表上的数据
),
);
$conditions = array('user_id' => "1");
$userObj = spClass("user");
$userObj->spLinker()->create($newrow); // 先加一条,根据关联,会在user表和guestbook表里分别加入数据,加完后,user表里的user_id=1
$userObj->spLinker()->update($c,$changerow);//对上面那条数据进行修改
$results = $userObj->spLinker()->findAll();
dump($results);
}
}
dump结果是
灰太狼 改成 灰太狼改 了
但是
草原上的王者1 没有改成 改1草原上的王者
请问是不是不支持?
帮助文件里的说明:
[table=500]
[td][tr][td]关联 [/td][td]spLinker类型[/td][td]可以应用范围[/td][td]要求[/td][/tr]
[tr][td]一对一关联[/td][td]hasone[/td][td]find,findAll,findBy,create,update,delete,deleteByPk[/td][td] [/td][/tr]
[tr][td]多对多关联 [/td][td]manytomany[/td][td]find,findAll,findBy[/td][td]建立中间表[/td][/tr]
[/table]
没有说到1对多的情况
2011-07-20 18:04:11