我看過其他類似的問題,但沒有一個對我想要做的事情真的有幫助。使用Codeigniter從表中連接一行,並在MySQL中使用另外兩個表的多行
我有三張表; sites
,user_sites
和site_domains
。我想查詢一個網站以及user_sites
和site_domains
表中的用戶和域列表。下面是表的一個例子:
db.sites
+------+-------------+---------------------+--------------+
| id | site_name | site_options | created_on |
+------+-------------+---------------------+--------------+
| 1 | name1 | {serialized data} | 10/10/12 |
+------+-------------+---------------------+--------------+
| 2 | name2 | {serialized data} | 24/10/12 |
+------+-------------+---------------------+--------------+
| 3 | name3 | {serialized data} | 08/09/12 |
+------+-------------+---------------------+--------------+
| 4 | name4 | {serialized data} | 03/01/12 |
+------+-------------+---------------------+--------------+
| 5 | name5 | {serialized data} | 10/12/11 |
+------+-------------+---------------------+--------------+
db.user_sites
+------+-----------+-----------+-----------+
| id | user_id | site_id | default |
+------+-----------+-----------+-----------+
| 1 | 1 | 1 | 0 |
+------+-----------+-----------+-----------+
| 2 | 3 | 2 | 0 |
+------+-----------+-----------+-----------+
| 3 | 1 | 3 | 0 |
+------+-----------+-----------+-----------+
| 4 | 10 | 1 | 0 |
+------+-----------+-----------+-----------+
| 5 | 5 | 1 | 1 |
+------+-----------+-----------+-----------+
db.site_domains
+------+-----------+-------------------+
| id | site_id | site_domain |
+------+-----------+-------------------+
| 1 | 1 | www.domain1.com |
+------+-----------+-------------------+
| 2 | 1 | sub.domain2.com |
+------+-----------+-------------------+
| 3 | 3 | www.domain3.com |
+------+-----------+-------------------+
| 4 | 2 | www.domain4.com |
+------+-----------+-------------------+
| 5 | 3 | www.domain5.com |
+------+-----------+-------------------+
當它這樣做。我希望能夠像這樣填充對象:
array (
[1] => array (
[site_name] => 'Name1',
[created_on] => '10/10/12',
[site_options] => {serialized data},
[domains] => array (
[0] => 'www.domain1.com',
[1] => 'www.domain2.com'
),
[users] => array (
[0] => 1,
[1] => 10,
[2] => 5
)
),
[2] => array (
[site_name] => 'Name2',
[created_on] => '24/10/12',
[site_options] => {serialized data},
[domains] => array (
[0] => 'www.domain4.com'
),
[users] => array (
[0] => 3
)
)
)
....等等。
我正在使用Codeigniter來創建我的應用程序,但是如果我只知道它的SQL,我可以將它轉換爲使用Codeigniter。 SQL不是我最大的訴訟,但任何幫助將不勝感激。
它不這樣做正確的方式 – 2017-12-15 16:34:43