Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kesalahan Batas Model CakePHP dan HABTM

mengapa tidak menggunakan perilaku yang dapat ditahan

// you would probably want the next line in the app_model ot be able to use it with all models
$this->Post->actsAs = array('Containable')
$params['conditions'] = array(
);
$params['contain'] = array(
    'Media' => array(
        'fields' => array(
            'type', 'path', 'title'
        ),
        'limit' => 1
    )
);
$this->Post->find('all', $params);

EDIT:

Baru saja mencobanya dan mendapatkan sql ini (Modul <-> Tag):

SELECT `Module`.`id` FROM `modules` AS `Module` WHERE 1 = 1 

dan

SELECT `Tag`.`id`, `ModulesTag`.`module_id`, `ModulesTag`.`tag_id` 
FROM `tags` AS `Tag` 
JOIN `modules_tags` AS `ModulesTag` 
  ON (`ModulesTag`.`module_id` IN (1, 2, 3, 4) AND `ModulesTag`.`tag_id` = `Tag`.`id`) 
WHERE `Tag`.`belongs_to` = 'Module' 
ORDER BY `Tag`.`name` ASC 
LIMIT 1

jelas itu tidak dapat mengembalikan hasil yang diinginkan, karena Anda harus melakukan kueri untuk setiap hasil Modul (yang sekali lagi akan menghasilkan terlalu banyak kueri).

Sebagai kesimpulan, saya akan mengembalikan semua Tag (dalam contoh saya) karena overhead dalam terlalu banyak baris hasil lebih baik daripada overhead dari terlalu banyak kueri..



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GALAT:HHH000299:Tidak dapat menyelesaikan pembaruan skema java.lang.NullPointerException

  2. Apakah ada yang setara dengan SHA1() di MS-SQL?

  3. Bagaimana Fungsi LOCATE() Bekerja di MySQL

  4. Bagaimana Fungsi UNHEX() Bekerja di MySQL

  5. PHP &MySql memeriksa apakah tabel kosong