Çizgi tablo ile cakephp modeli yok sayar

2 Cevap php

Ben bir tablo ölçümleri ve başka bir tablo metric_levels var. Metrik modelde I $ hasMany = 'MetricLevels' var ama MetricLevels model içinde bir şey tamamen göz ardı edilir.

Ben 'Metrik' olarak modelini yeniden adlandırın ve $ useTable = 'metric_levels' varsa Ama, iyi çalışıyor. Ben bütün kombinasyonları denedim ama hiçbiri çalışmıyor gibi görünüyor. Ben tekil kelimeler, alt, hiçbir şey iş gibi görünüyor, çoğul denedim. Modeli sadece göz ardı edilir ve sadece veritabanından değerini alır.

Herhangi bir yardım takdir edilmektedir.

2 Cevap

Şimdi çalışıyor. İşte nasıl:

// metric.php
var $hasMany = 'MetricLevel'

// metric_level.php
<?php
    class MetricLevel extends AppModel {
        var $name = 'MetricLevel';
    var $useTable = 'metric_levels';
    var $order = 'upper_value DESC';
    var $belongsTo = 'colour';
    }
?>

$ Order = 'upper_value AZALAN' hala göz ardı ediliyor, neden bilmiyorum. Ama en azından şimdi doğru modeli kullanıyor.

Bu özel sorunun ne korkunç belli değil, bu yüzden sadece birkaç noktalar:

  • Model names are always singular
    • Metrik hasMany MetricLevel
  • Table names are plural and are translated into singular models, underscores converted to CamelCase
    • MetricLevel => metric_levels
  • Bir model oluşturmak vermedi bile, Kek bunu kullanmasına izin ve yukarıda adlandırma kurallarına göre tablo adları çıkarım, sizin için anında bir makyaj
  • Kek model "yok sayar" ise, size gerçekten istediğiniz modeli için doğru adını kullanarak değil çünkü o, anında başka bir model uyduruyor demektir
  • debug = 2 yardımcı olarak oluşturulan SQL sorguları bakıyor

http://book.cakephp.org/view/24/Model-and-Database-Conventions