2012-08-29 156 views
0

我是從Python-Django背景現在我正在做我的項目在PHP中。Mysql:保存數據在許多領域

我有三個表在MySQL:

demo_user_selected_tags

+---------+---------+------+-----+---------+----------------+ 
| Field | Type | Null | Key | Default | Extra   | 
+---------+---------+------+-----+---------+----------------+ 
| id  | int(11) | NO | PRI | NULL | auto_increment | 
| user_id | int(11) | NO | MUL | NULL |    | 
| tags_id | int(11) | NO | MUL | NULL |    | 
+---------+---------+------+-----+---------+----------------+ 

demo_user

+--------------------+---------------+------+-----+---------+----------------+ 
| Field    | Type   | Null | Key | Default | Extra   | 
+--------------------+---------------+------+-----+---------+----------------+ 
| id     | int(11)  | NO | PRI | NULL | auto_increment | 
| user_name   | varchar(100) | NO |  | NULL |    | 
| first_name   | varchar(100) | NO |  | NULL |    | 
| middle_name  | varchar(100) | NO |  | NULL |    | 
| last_name   | varchar(100) | NO |  | NULL |    | 
| image    | varchar(5000) | YES |  | NULL |    | 
| password   | varchar(80) | NO |  | NULL |    | 
| role    | varchar(20) | NO |  | NULL |    | 
| org_name_id  | int(11)  | NO | MUL | NULL |    | 
| timezone_id  | int(11)  | NO | MUL | NULL |    | 
| city    | varchar(50) | YES |  | NULL |    | 
| state    | varchar(50) | YES |  | NULL |    | 
| country   | varchar(50) | YES |  | NULL |    | 
| street    | longtext  | YES |  | NULL |    | 
| pin    | varchar(30) | YES |  | NULL |    | 
| user_type   | varchar(30) | NO |  | NULL |    | 
| status    | int(11)  | YES |  | NULL |    | 
| primary_mobile  | varchar(100) | YES |  | NULL |    | 
| secondary_mobile | varchar(100) | YES |  | NULL |    | 
| primary_landline | varchar(100) | YES |  | NULL |    | 
| secondary_landline | varchar(20) | YES |  | NULL |    | 
| primary_email  | varchar(100) | YES |  | NULL |    | 
| secondary_email | varchar(100) | YES |  | NULL |    | 
| notes    | longtext  | NO |  | NULL |    | 
| date_created  | datetime  | YES |  | NULL |    | 
| date_modified  | datetime  | YES |  | NULL |    | 
+--------------------+---------------+------+-----+---------+----------------+ 

demo_tags

+-------+--------------+------+-----+---------+----------------+ 
| Field | Type   | Null | Key | Default | Extra   | 
+-------+--------------+------+-----+---------+----------------+ 
| id | int(11)  | NO | PRI | NULL | auto_increment | 
| tags | varchar(150) | NO |  | NULL |    | 
+-------+--------------+------+-----+---------+----------------+ 

在用戶註冊時,我試圖爲用戶存儲標籤。用戶可以有多個標籤。

所以我的問題是如何編寫SQL查詢,以便我的demo_user_selected_tags表也有一個值?

+0

也許'INSERT INTO'?對不起,但我沒有關注... – Gerep

+0

你在尋找插入腳本嗎? – sundar

+0

是啊我只是想找到那隻 – user1614526

回答

0

您應該使用一些像Doctrine這樣的ORM。

With Doctrine您定義表模型及其與所有主鍵和外鍵的關係。之後,創建一個用戶對象,設置其屬性和標籤並保存該用戶對象就足夠了 - Doctrine將爲您完成工作,並將適當的ID(值)填充到所有相關表中...

換句話說,假設我們有一個用戶對象,有許多到許多與標籤的關係......我們設置一些標籤給用戶,然後保存用戶:

$user = new UserModel(); 
$user->name = 'some name'; 
$user->email = '[email protected]'; 
foreach($tags as $id => $tag) 
    $user->tags[$id] = $tag; // in model definition the tags property is a many-to-many relation for Tags table... 
$user->save(); // and the work is done... 

這只是一個例子關於如何完成這項工作...

+0

我可以在PHP中使用它 – user1614526

+0

主義只適用於PHP,AFAIK ... http://www.doctrine-project.org/ – shadyyx

+0

ohk我會試一試 – user1614526