Benim görünümünde bir hata alıyorum:
Warning (512): SQL Error: 1054: Unknown column 'Model.id' in 'where clause' [CORE\cake\libs\model\datasources\dbo_source.php, line 525] $sql = "SELECT
Model
.model_id
,Model
.pic_location
,Model
.model_name
FROMmodels
ASModel
WHEREModel
.id
= '20' LIMIT 1" $error = "1054: Unknown column 'Model.id' in 'where clause'" $out = null
Benim modeli maalesef nedeniyle ben çalışıyorum eski bir veritabanı için, "Model" olarak adlandırılır. Ben hata ayıklama kullanılan ve açıkça 'model_id' için PrimaryKey ayarı (aşağıya bakınız) benim modeli kod rağmen, (aynı zamanda yukarıdaki SQL görüntülendiği gibi) 'id' arasında primaryKey kullandığını tespit ettik.
Veritabanı tablo model_id bir birincil anahtarla modelleri, bu yüzden ben sadece sistem autoModel kullanıyor varsayabiliriz.
Benim model kodu 'model.php' olduğunu:
<?php class Model extends AppModel {
var $name = 'Model';
var $primaryKey = 'model_id';
//The Associations below have been created with all possible keys, those that are not needed can be removed
var $hasMany = array(
'Pic' => array(
'className' => 'Pic',
'foreignKey' => 'model_name',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);}?>
Ben aslında elle oluşturulan ve ben bu hatayı vurduğunuzda, (Ben hasMany ilişkide boş alanları içermiyordu hariç) aynı sonuçları ile ... o pişmiş.
Ben geçici uygulama düzeyinde önbelleğe kapalı ve önbellek temizlenir, ama hiçbir şey yardımcı olur var. Nasıl benim modeli kodu kullanabilirsiniz yapabilir?