Orm 具有多个外键的关系

Orm 具有多个外键的关系,orm,fuelphp,Orm,Fuelphp,我刚刚开始在我的应用程序中使用FuelPHP,并将其堆叠在orm关系设置中。 我有以下3个表,希望使用项目模型显示带有部门用户名的项目列表。 但我不知道如何设置与orm关系的关系 如何使用$\u所属、$\u有一个、$\u有多个或$\u多个来建立这种关系 我想做的就是像sql一样 从项目中选择*、departments.name、users.name 左键连接项目上的部门。部门\部门id=部门id 左键加入项目上的用户。用户\u id=users.id“ 提前感谢。最容易记住的是: 多对多关系在两

我刚刚开始在我的应用程序中使用FuelPHP,并将其堆叠在orm关系设置中。 我有以下3个表,希望使用项目模型显示带有部门用户名的项目列表。 但我不知道如何设置与orm关系的关系

如何使用$\u所属、$\u有一个、$\u有多个或$\u多个来建立这种关系

我想做的就是像sql一样 从项目中选择*、departments.name、users.name 左键连接项目上的部门。部门\部门id=部门id 左键加入项目上的用户。用户\u id=users.id“


提前感谢。

最容易记住的是:

多对多关系在两种模型中都使用
$\u many\u many
,并且需要一个关系表(也称为连接表或连接表)

对于所有其他人来说,一边是
$你有一个
$你有许多
,另一边总是
$你所属的
。包含外键的模型始终是
$\u所属的

在本例中: *用户有多个项目,项目属于用户
*部门有许多项目,项目属于部门

最容易记住:

多对多关系在两种模型中都使用
$\u many\u many
,并且需要一个关系表(也称为连接表或连接表)

对于所有其他人来说,一边是
$你有一个
$你有许多
,另一边总是
$你所属的
。包含外键的模型始终是
$\u所属的

在本例中: *用户有多个项目,项目属于用户
*部门有很多项目,项目属于部门

我想我找到了解决方案<代码>受保护的静态$\u属于=数组('departments'=>array('model'=>'model'=>'departments','key'=>'department'=>'id','key'=>'id','cascade'=>true','cascade'=>delete','users'=>array)('model_to'=>'model_Users','key_from'=>'user_id','key_to'=>'id','cascade_save'=>true','cascade_delete'=>false,);我想我找到了解决方案。
受保护的静态$\u属于=数组('departments'=>数组)('model_to'=>'model_Departments','key_from'=>'department_id','key_to'=>'id','cascade_save'=>true,'cascade_delete'=>false,),'users'=>数组('model_to'=>'model_users','key_from'=>'用户id','key_to'=>'id','cascade_save'=>true,'cascade_delete'=>false,),)非常感谢!我得到了线索。非常感谢!我得到了线索。
### TABLE projects ###
CREATE TABLE IF NOT EXISTS `projects` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`department_id` int(11) unsigned NOT NULL,
`user_id` int(11) unsigned NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`deleted_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `department_id` (`department_id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

ALTER TABLE `projects`
ADD CONSTRAINT `m_project_ibfk_1` FOREIGN KEY (`department_id`) REFERENCES `departments` (`id`),
ADD CONSTRAINT `m_project_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);

### TABLE departments ###
CREATE TABLE IF NOT EXISTS `departments` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`deleted_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

### TABLE users ###
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`login_id` varchar(100) NOT NULL,
`nickname` varchar(20) NOT NULL,
`password` varchar(255) NOT NULL,
`last_login_at` timestamp NULL DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`deleted_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;