2012-08-29 5 views
0

저는 파이썬 - 장고 배경에서 PHP로 프로젝트를하고 있습니다.MySQL : 데이터 저장 많은 분야에서

나는 MySQL의에서 세 개의 테이블이 있습니다

+---------+---------+------+-----+---------+----------------+ 
| 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을 demo_user_selected_tags

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

사용자 등록시 사용자 태그를 저장하려고합니다. 한 사용자에 대해 하나 이상의 태그가있을 수 있습니다.

내 질문에 내 demo_user_selected_tags 테이블도 값이 있도록 SQL 쿼리를 작성하는 방법입니다?

+0

'INSERT INTO'? 죄송하지만 저는 따르지 않을 것입니다 ... – Gerep

+0

삽입 스크립트를 찾고 계십니까? – sundar

+0

그래, 그게 단지 – user1614526

답변

0

예를 들어 Doctrine과 같은 일부 ORM을 사용해야합니다.

With Doctrine 테이블 모델과 모든 기본 키와 외래 키와의 관계를 정의합니다. 그 후에 User 객체를 만들고 속성과 태그를 설정하고이 User 객체를 저장하기 만하면 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

Doctrine은 PHP, AFAIK위한 것입니다 ... http://www.doctrine-project.org/ – shadyyx

+0

오크 내가 시도 줄 것이다 – user1614526

관련 문제