nic*_*ckf 1 php entity-relationship cakephp cakephp-model
我有一个问题,关于如何在两个不同的问候中彼此加入时建立两个模型之间的关系.
我将举例说明我遇到的问题:
Users (id, name)
Messages (id, message, from_user_id, to_user_id)
Run Code Online (Sandbox Code Playgroud)
(在我的情况下,它不是用户也不是消息,但希望以更简单的方式说明问题)
用户可以相互发送消息,每封消息都有一个发送消息的用户和一个将接收消息的用户.我试图找出模型关系:
class User extends AppModel {
var $hasMany = array("Message");
}
class Message extends AppModel {
var $belongsTo = array("User");
}
Run Code Online (Sandbox Code Playgroud)
我也不确定如何在数据库中命名字段,因此CakePHP将正确地获取关系.
我已经能够用关系选项解决这个问题了:
class Message extends AppModel {
var $belongsTo = array(
"FromUser" => array(
"className" => "User"
, "foreignKey" => "from_user_id"
, "type" => "INNER"
),
"ToUser" => array(
"className" => "User"
, "foreignKey" => "to_user_id"
, "type" => "INNER"
)
);
}
class User extends AppModel {
var $hasMany = array(
"MessageFrom" => array(
"className" => "Message"
, "foreignKey" => "from_user_id"
),
"MessageTo" => array(
"className" => "Message"
, "foreignKey" => "to_user_id"
)
);
}
Run Code Online (Sandbox Code Playgroud)
这个问题和答案也非常有用!