我对ORM很新,但我要做的是在MySQL数据库中插入一个新的注释并更新用户表。
所以我有两个表,users
和comments
。
现在,当我在评论对象上调用save()
方法时,我想将该评论插入comments
表,并更新written_comments
表中的用户users
列。< / p>
我只需要插入注释的部分很简单,我已经完成了。
更新查询出现问题,我需要更新users
表并设置written_comments + 1 where id = $userId
我找到了关于对象之间关系的文档,但我无法弄明白。
我正在使用Kohana 3.3版本。
我的comments
课程现在是空的:
class Model_Comments extends ORM{
}
我正在扩展Auth用户类
class Model_User extends Model_Auth_User {
}
任何帮助都会有很大帮助,谢谢。
答案 0 :(得分:3)
如果您只想使用ORM,请在保存评论后尝试写下这样的内容
$user = ORM::factory('User', $userId);
if($user->loaded()){
$user->set('written_comments', $user->written_comments + 1)->update();
}
无法在ORM :: save()上绑定回调。您只能使用ORM :: loaded()方法检查将注释保存到数据库中。