将Reference表中的数据附加到Doctrine和Codeigniter中的另一个表

时间:2012-07-12 06:31:08

标签: mysql database doctrine-orm codeigniter-2

我有一个Departments参考表,如:

Id Name
1. Dept1
2. Dept2
3. Dept3

我有一个用户表,如:

Id Name  
1. User1 
2. User2

在添加用户时,我希望能够为他们分配一个部门。但是我不想 将部门名称存储在用户表中,因此将参考表存储起来。所以我想我应该在User表中有一个Dept_id字段,以便引用Department表。

问题是我需要在添加用户后输出User id, User Name and Department name。挑战是我这样做:

$array['users'] = Users::getUsersAll();
$this -> table -> set_heading(array('id', 'Name');

在模型中,getUsersAll()方法包含:

  

$ query = Doctrine_Query :: create() - > select(“id,Name”) - >   从( “用户”)

在视图中,我通过以下方式生成表:

echo $this -> table -> generate($users);

那么我如何能够查询并输出部门名称并将其附加到包含其余用户数据的表中?

2 个答案:

答案 0 :(得分:0)

通过加入“用户和部门”表创建视图。然后使用视图获取记录。这将是表现最佳的方法。

答案 1 :(得分:0)

根据您的描述,用户类将类似。

class User
    {

    /** Other members ...... **/

    /** @ManyToOne(targetEntity="Department") */
    public $department;

    }

您可以通过$user->department->name

从用户对象访问部门名称