【问题标题】:cakephp model foreign keys not workingcakephp模型外键不起作用
【发布时间】:2014-05-05 12:02:29
【问题描述】:

我有两张桌子:

-> model_tickets 
CREATE TABLE IF NOT EXISTS `detail_models` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ModelTicket_id` int(11) NOT NULL,
  `nom` varchar(32) NOT NULL,
  `text` varchar(32) NOT NULL,
  `taille` enum('8','9','10','11','12','13','14','15','16','17','18','19','20') NOT NULL,
  `police` enum('Impact','courier new','times new roman','comic sans ms') NOT NULL,
  `bold` int(2) NOT NULL,
  `italic` int(2) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `ModelTicket_id` (`ModelTicket_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=53 ;

-> detail_models
CREATE TABLE IF NOT EXISTS `model_tickets` (
  `ModelTicket_id` int(11) NOT NULL AUTO_INCREMENT,
  `nom_model` varchar(32) NOT NULL,
  `is_active` tinyint(1) NOT NULL,
  `date_modif` date NOT NULL,
  PRIMARY KEY (`ModelTicket_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

模型ModelTicket.php中的代码:

var $hasMany = array('DetailModel' =>
    array('className' => 'DetailModel',
        'conditions' => '',
        //'order' => 'Comment.created DESC',
        'limit' => '5',
        'foreignKey' => 'ModelTicket_id',
        'dependent' => true,
        'exclusive' => false,
        'finderQuery'   => '',
        'fields' => '',
        'offset' => '',
        'counterQuery' => ''
    )
);

错误显示:

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ModelTicket.id' in 'field list'

任何想法可能是什么问题?

【问题讨论】:

    标签: php cakephp-2.4


    【解决方案1】:

    我不是 CAKEPHP 专家,但如果你的表是 model_tickets,你的模型不应该被命名为“Model_Ticket.php”而不是 ModelTicket.php 吗?

    【讨论】:

      【解决方案2】:

      您的 ModelTicket.php 没有遵循如何命名主键的标准。它应该被称为“id”。

      如果您不能更改列名,那么您可以修改模型并让它知道您的主键不是“id”而是“ModelTicket_id”

      public $primaryKey = 'ModelTicket_id';
      

      更多信息here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多