CakePhp属于关系问题
我有两个模型的配置文件和消息。当我试图获取其控制器中的所有消息时,cake不会在结果数组中返回任何概要文件。 在消息控制器中:CakePhp属于关系问题,cakephp,Cakephp,我有两个模型的配置文件和消息。当我试图获取其控制器中的所有消息时,cake不会在结果数组中返回任何概要文件。 在消息控制器中: $this->Message->recursive=3; $m=$this->Message->find('all'); 型号: class Message extends AppModel { var $name = 'Message'; var $primaryKey = 'id'; var $useTable = 'message
$this->Message->recursive=3;
$m=$this->Message->find('all');
型号:
class Message extends AppModel {
var $name = 'Message';
var $primaryKey = 'id';
var $useTable = 'messages';
var $belongsTo = array(
'Profile' => array(
'className' => 'Profile',
'foreignKey' => 'author_id',
'conditions' => '',
'fields' => '',
'order' => ''
));
及
另外,我等不了7个小时才有答案。
我最终找到了解决方案,我的消息模型文件名是messageS.php,当我把它重命名为Message.php时,我得到了我所需要的一切。我认为,根据您的回答,它有助于某人(但也与其他人相关),如果您非常确定您的关联是正确的,那么下一步就是检查您的文件名以确保它们是正确的(单数模式)
另一个注意事项是,如果您使用的是递归3(不知道它比2高,但显然它比2高),那么使用CakePHP可能会更好。即使使用递归函数2,通常也是多余的。在Message.php模型文件中写入: var$belongsTo=数组( “Profile”=>数组( )))
写入Profile.php模型文件: var$hasMany=array( '消息'=>数组( )))
控制器: $m=$this->Message->find('all') 现在工作很好…享受
class Profile extends AppModel {
var $name = 'Profile';
var $primaryKey = 'id';
var $useTable = 'profiles';
var $belongsTo = array(
'Account' => array(
'className' => 'Account',
'foreignKey' => 'account_id',
'conditions' => '',
'fields' => '',
'order' => ''
));
var $hasMany = array(
'Message' => array(
'className' => 'Message',
'foreignKey' => 'Author_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
));
'className' => 'Profile',
'foreignKey' => 'author_id',
'conditions' => '',
'fields' => '',
'order' => ''
'className' => 'Message',
'foreignKey' => 'Author_id', // Hear you "Author_id" should change as "author_id"
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''