0

それに応じてコンテンツを取得するためにfindステートメントを実行しようとしています

users(id, name, city_id)
visitors(id, user_id, visitor_id) // visitor_id also refers to users table
cities(id, name)

PHP

    $visitor_data = $this->User->Visitor->find('all', array(
            'conditions' => array('user_id' => 1), 
            'limit' => 10, 
            'order' => array('timestamp DESC'), 
            'contain' => array('VisitorDetails' => array(
                                                    'fields' => array('id', 'first_name', 'last_name', 'username', 'city_id'),
                                                    'contain' => array('City'))
                                                    )
            ));

エラーが発生します:

SQL エラー: 1054: 不明な列 'VisitorDetails.contain' が 'field list' にあります

訪問者の詳細都市情報を取得したい

4

2 に答える 2

2
<?php  $visitor_data = $this->User->Visitor->find('all', array(
            'conditions' => array(
                'user_id' => 1
            ), 
            'limit' => 10,
            'order' => array(
                'timestamp DESC'
            ), 
            'contain' => array(
                'VisitorDetail' => array(
                    'fields' => array(
                        'id',
                        'first_name',
                        'last_name',
                        'username',
                        'city_id'
                    ),
                    'contain' => array(
                        'City'
                    )
                )
              )
            ));
?>
于 2011-12-01T05:03:27.780 に答える
2

VisitorDetails は単数でなければなりません:

'contain' => array('VisitorDetail' .....

于 2011-11-30T09:35:49.820 に答える