2017-05-24 12 views
1

私は多くの行を持つtxtファイルを持っています。すべての行のデータをdbに挿入します。別のテーブルの外部キーからのデータの挿入方法は?

foreach (... => ...) { 
... 
$types = new QueryTypes(); 
$types->query_type = $prepared_data_from_file; 
$types->save(); 
$logs = new Logs(); 
$logs->query_type = ... 
... 
} 

----------------------------------------------------- 
|      LOGS       | 
----------------------------------------------------- 
| log_id (PK) | query_type (FK from query_type_id) | 
----------------------------------------------------- 


--------------------------------- 
|    QUERYTYPES  | 
--------------------------------- 
|query_type_id (PK)| query_type | 
--------------------------------- 

私はどのように私はyii2でLOGSの列QUERY_TYPEにQUERYTYPESから列query_type_idを挿入することができる?

INSERT INTO LOGS(query_type) VALUES (SELECT query_type_id FROM QUERYTYPES) 

ようなものが必要

+0

'$ logs-> QUERY_TYPE = $タイプ - > query_type_id' –

+0

私はこの方法を試してみましたが、それは最初の偶然の一致のために一度だけ動作します。 – Jens

+0

ループが正しければ、毎回動作します。 –

答えて

1

あなたが代わりにVALUES

INSERT INTO LOGS (query_type) 
SELECT query_type_id 
FROM QUERYTYPES 
0

SELECTクエリを使用しますが、このような何かを意味していますか? :

INSERT INTO LOGS VALUES(NULL, (SELECT query_type_id FROM QUERYTYPES WHERE query_type = 'your_query_type_here'))

+0

私はSQLクエリを必要としません、私はyii2のFKからの値を正しく挿入することについて尋ねます。 – Jens

+0

私の悪い、タグを見ていない..あなたはあなたの投稿にそれを書く必要があります –

関連する問題