我正在设计一个dressess数据库/表,每个用户都可以发布/拥有多个dressess。
http://book.cakephp.org/view/1040/Relationship-Types
用户可以有多个dressess。
许多穿着属于用户。
ID
名称
用户名
电子邮件
passwd的
...
ID
名称
图像
USER_ID
...
现在我需要建立关系来处理用户喜欢,用户可以喜欢他/她自己的服装或其他用户的喜欢......
我的问题是,我必须为此功能管理哪种关系类型(表和连接)。
请告诉您的想法:
ID 用户身份 dress_id
但是,问题是,这是正确的方法:
一个。许多喜欢属于用户和许多喜欢属于礼服。
B中。用户可以拥有多个Likes和Many Likes属于用户。
提前致谢。
答案 0 :(得分:3)
你几乎是对的。你错过了“一件衣服可以有多种喜欢”。
在你的模特协会中:
代码应该是这样的:
<?php
class User extends AppModel {
var $name = 'User';
var $hasMany = array('Dress', 'Like');
?>
<?php
class Like extends AppModel {
var $name = 'Like';
var $belongsTo = array('User', 'Dress');
?>
<?php
class Dress extends AppModel {
var $name = 'Dress';
var $hasMany = array('Like', 'User');
?>
我省略了其他属性。您可以从烘焙中轻松生成这些关系。
答案 1 :(得分:1)
<?php
class User extends AppModel {
var $name = 'User';
var $hasAndBelongsToMany = array(
'Dress' =>
array(
'className' => 'Dress',
'joinTable' => 'like',
'foreignKey' => 'user_id',
'associationForeignKey' => 'dress_id',
)
);
}
?>