Codeigniter 代码点火器模型到模型的关系

Codeigniter 代码点火器模型到模型的关系,codeigniter,models,table-relationships,Codeigniter,Models,Table Relationships,在CI中,如何将模型相互关联?我现在有四个模型用户、UsersDepartment、UsersToDepartment、UserStatus,我需要加入这四个模型才能获取所有数据 我的控制器中有以下代码,用于从用户表中选择所有用户数据: function view($user_id){ $data['user'] = $this->User_model->get_by_id($user_id)->row(); } 用户表中保存的用户状态只是状

在CI中,如何将模型相互关联?我现在有四个模型用户、UsersDepartment、UsersToDepartment、UserStatus,我需要加入这四个模型才能获取所有数据

我的控制器中有以下代码,用于从用户表中选择所有用户数据:

function view($user_id){
                 $data['user'] = $this->User_model->get_by_id($user_id)->row();
}
用户表中保存的用户状态只是状态id,因此我需要连接到UserStatus表以获取用户状态id的等效名称。我需要知道用户所属组的列表。所以我需要根据Users.userid从UsersToDepartment表中获取它。然后在UsersDepartment表中获取等效的groupname。请看我的图表进一步解释。

我知道在本机PHP中,这可以通过使用join来完成。在CI中是如何实现的

我知道有了易,你可以这样做

$posts=Post::model()->with(
'author.profile',
'author.posts',
'categories')->findAll();

CI也可以这样做吗?

示例您拥有
表1
,并希望使用其id连接
表2

$this->db->select('columns');
$this->db->from('table_one');
$this->db->join('table_two', 'table_two.id = table_one.id');

//then do the query
有关更完整的教程,请阅读以下链接:


尝试使用此联接表查询

Select a.*,b.*
from table_one a
inner join table_two b where b.id=a.id

请参阅
$this->db->join()中的标题


我知道codeigniter在这里不太好。所以我总是更喜欢Yii而不是它。

代码点火器不是php的ORM框架

你不能像对待ORM框架那样对待它(Laravel是ORM框架的好例子)

但您可以通过查询上的连接来模拟这一点


这项工作只是为您获取其他模型数据,而不是为您获取这些模型对象…

嗨,莫霍,是的,我之前已经读过了。但是,当我调用$this->User\u model->get\u by\u id($User\u id)->row()时,是否可能从那里添加一个关系?就像在YII框架中一样,我们可以使用“with('usermodel,usertodepartmentmodel,statusmodel');您是否实现了像yii这样的模型间关系?我也在找同样的。看看我试过的是什么样子的。我也尝试过Yii,模型对模型的关系。谢谢,我想问这个问题,因为我尝试过Yii,它使用起来很方便。但是有解决方案:)