【问题标题】:Associate different column name to one Model + cakephp将不同的列名关联到一个模型 + cakephp
【发布时间】:2013-06-18 09:35:03
【问题描述】:

如何使用 Transaction.who_pay_fee_1,2,3 字段获取 (UserTransactionType.name) 的名称。

'user_transaction_type_id' 效果很好,但如何让其余字段正常工作:(

//Transaction Model
        public $belongsTo = array(
                'UserTransactionType' => array(
                    'className' => 'UserTransactionType',
                    'foreignKey' => 'user_transaction_type_id',
                    'conditions' => '',
                    'fields' => '',
                    'order' => ''
                ),

//UserTransactionType Model
public $hasMany = array(
        'Transaction' => array(
            'className' => 'Transaction',
            'foreignKey' => 'user_transaction_type_id',
            'dependent' => false,
))

【问题讨论】:

    标签: cakephp cakephp-2.0 cakephp-1.3 cakephp-2.1


    【解决方案1】:

    这是您的控制器的示例代码:

    $this->UserTransactionType->find('all',array(
                                                 'fields' => array('name'),
                                                 'contain' => array('Transaction')
                                                )
                                     );
    

    如果模型是关联的,您可以在'contain' 中指定您希望在结果中获得哪些模型。

    如果您只想拥有相关Model的某些字段,您可以在'contain'中的'Transaction'之后确定它们,就像在常规find()查询中一样:

    'contain' => array('Transaction' => array('fields' => array('field_1',
                                                                'field_2') ))  
    

    但在您的情况下,您不需要指定字段,因为默认情况下您会获得所有字段。

    因此,无论您是否定义字段“who_pay_fee_1,2,3”,因为如果您默认使用'contain',您将获得foreing_key - user_transaction_type_id

    希望对你有帮助

    【讨论】:

    • 感谢您的宝贵时间和回答。但它应该像下面的问题一样简单:)
    【解决方案2】:

    对于他们喜欢 CakePhp 的人 :)
    在控制器中 ->
    获取“UserTransactionType”列表
    在视图中 ->
    在遍历所有交易之后;在 Transaction Status 列中只需加载 'UserTransactionType' 数组并将数组的数量分配给 $userTransactionTypes。

    $userTransactionTypes[$transaction['Who_pay_fee_1']];
    

    说实话,这很简单,但需要一点注意力:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      • 1970-01-01
      相关资源
      最近更新 更多