0

我尝试编写一个订单系统,这是我的第一个蛋糕项目。

我有一个订单、一个用户和一个用户地址。

//Order model
public $belongsTo = array(

    'User' => array(
        'className' => 'User'
));

//User model
public $hasOne = array(
    'Useradr' => array(
        'className' => 'Useradr',
        'foreignKey' => 'user_id',
        'order' => ''
   )
);
//maybe not necessary Useradr model

public $belongsTo = 'User';

现在我想在添加/编辑凭证时访问用户地址。

我可以在凭证编辑视图中访问用户:

 echo $this->Form->input('User.email',array(
        'label' => 'Email',
    ));

但不是用户地址。我在做什么错?

非常感谢你!

朱利叶斯

4

1 回答 1

0

您必须使用正确的模型前缀。

echo $this->Form->input('Useradr.some_field',array(
        'label' => 'Some Field',
    ));

我建议你做博客教程,而不是盲目地开始编码。阅读公约也是一个好主意。

此外,Useradr 是一个非常糟糕的名字,最好是 UserAddress。缩写很糟糕,原因有很多。首先,如果您不知道它们的意思,并且变形者很可能也不喜欢它们并且可能会搞砸单数/复数情况,那么它们很难猜测。阅读Clean Code,一本关于如何编写干净代码的好书。

于 2013-08-21T12:19:35.517 回答