Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

केकफ़्पी - शामिल (कंटेनेबल व्यवहार) बहुत अधिक प्राप्त करता है

ऐसा लगता है कि आपके मॉडल बिल्कुल भी नियंत्रण में नहीं हैं। क्या आपने अपने मॉडल को शामिल करने योग्य के रूप में कार्य करने के लिए सेट किया है?

class Post extends AppModel {
    public $actsAs = array('Containable');
}

यदि ऐसा है, तो शायद समस्या रिकर्सन के साथ है (Group प्राप्त करने से बचने के लिए क्वेरी के साथ सरणी)। कंटेनर व्यवहार को अपने आप ही रिकर्सन स्तर को संभालना चाहिए, लेकिन सुनिश्चित करने के लिए इसे AppModel पर सेट करने का प्रयास करें

class AppModel extends Model {
    public $actsAs = array('Containable');
    public $recursive = -1;

आपका पहला प्रयास

    'contain'       => array(
        'User'          => array(
            'fields' => array('id', 'fullName')
        ),
    )

वाक्य रचना की दृष्टि से अच्छा लगता है, इसलिए संभवत:यह actAs है बात।

साथ ही, डिबगिंग के लिए भी प्रयास करें

$this->Membership->contain('User');
$this->Membership->find('all', array(
    'conditions'    => array(
            'group_id'      => $id
        ));

और देखें कि क्या आपको इस तरह से अपेक्षित परिणाम मिलते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा का उपयोग करके एक MySQL डीबी पूछें

  2. मल्टीलाइन डेटा के साथ MySQL लोड डेटा

  3. डुप्लिकेट प्रविष्टियों पर ध्यान न दें और EF Core में DbContext.SaveChanges () पर सफल प्रविष्टियां करें

  4. Apache Lucene के साथ एक MySQL डेटाबेस को इंडेक्स करें, और उन्हें सिंक्रोनाइज़ करें

  5. एक ISAM MySQL तालिका में प्राथमिक कुंजी के रूप में CHAR () या VARCHAR ()?