[DB] Linkende tabellen met ActiveRecord
Bram Boos
15/01/2012 20:48:36De laatste tijd ben ik veel bezig met CodeIgniter met ActiveRecord. Dit werkt echt geweldig maar ik zit nu met een klein puntje waar ik niet helemaal uit kom.
Ik heb in mijn database de volgende tabellen en kolommen:
users
- id
- school_id
- name
enz.
groups
- id
- school_id
- name
messages
- id
- author_id
- content
user_group
- id
- user_id
- group_id
user_message
- id
- user_id
- message_id
group_message
- id
- group_id
- message_id
Nu kan een message dus gestuurd worden naar een bepaalde user maar ook naar een group.
Nu wil ik op het dashboard van de gebruiker alle berichten tonen wie aan hem zijn gestuurd maar ook de groepen waar hij lid van is.
Het lukt mij wel om de messages van een user of van een group op te halen maar niet om deze 2 in 1 lijst te vertonen.
De ActiveRecord models
Hoe kan ik dit oplossen?
Ik heb in mijn database de volgende tabellen en kolommen:
users
- id
- school_id
- name
enz.
groups
- id
- school_id
- name
messages
- id
- author_id
- content
user_group
- id
- user_id
- group_id
user_message
- id
- user_id
- message_id
group_message
- id
- group_id
- message_id
Nu kan een message dus gestuurd worden naar een bepaalde user maar ook naar een group.
Nu wil ik op het dashboard van de gebruiker alle berichten tonen wie aan hem zijn gestuurd maar ook de groepen waar hij lid van is.
Het lukt mij wel om de messages van een user of van een group op te halen maar niet om deze 2 in 1 lijst te vertonen.
De ActiveRecord models
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
class Message extends ActiveRecord\Model {
static $table_name = 'messages';
static $has_one = array(
array('user')
);
}
class GroupMessage extends ActiveRecord\Model {
static $table_name = 'group_messages';
static $has_one = array(
array('message'),
array('user')
);
}
class UserMessage extends ActiveRecord\Model {
static $table_name = 'user_messages';
static $has_one = array(
array('message'),
array('group')
);
}
?>
class Message extends ActiveRecord\Model {
static $table_name = 'messages';
static $has_one = array(
array('user')
);
}
class GroupMessage extends ActiveRecord\Model {
static $table_name = 'group_messages';
static $has_one = array(
array('message'),
array('user')
);
}
class UserMessage extends ActiveRecord\Model {
static $table_name = 'user_messages';
static $has_one = array(
array('message'),
array('group')
);
}
?>
Hoe kan ik dit oplossen?
Gewijzigd op 16/01/2012 14:04:37 door Bram Boos
Er zijn nog geen reacties op dit bericht.