【问题标题】:Doctrine_Record doesn't set PK in object after save()在 save() 之后,Doctrine_Record 没有在对象中设置 PK
【发布时间】:2010-04-22 13:24:58
【问题描述】:

根据文档,保存后的 Doctrine_Record 应设置新创建记录的 id 作为对象属性。在我的例子中,创建了新记录,但没有在对象上设置值(而数据库有这个新的 id 值)。这是什么原因造成的?

$user1 = new ModelUsers();
$user1->save();
echo "last insert id=" . $user1->UserId;

PS UserId 在 Model 类中配置为'primary' => true, 'autoincrement' => true

【问题讨论】:

    标签: php sql orm doctrine


    【解决方案1】:

    您使用的是驼峰式语法,用于访问相关项目,如下所示:

    $object->Related->getId();
    

    访问 Doctrine_Record 属性时,您应该使用以下语法之一:

    $object['user_id'];
    $object->getUserId();
    $object->user_id; // note that this is NOT camel case, but lowercase with underscores
    $object->get('user_id');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-18
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 2021-01-03
      • 2016-11-21
      • 1970-01-01
      相关资源
      最近更新 更多