質問編集履歴

3

ソースの修正

2017/09/23 01:07

投稿

red13
red13

スコア79

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,51 @@
42
42
 
43
43
  ```
44
44
 
45
+ ```
45
46
 
47
+ *** SQLの結果の格納オブジェクト? ***
48
+
49
+ class Product extends sfDoctrineRecord {
50
+
51
+ // メインテーブル?
52
+
53
+ public function setTableDefinition() {
54
+
55
+ $this->setTableName('product');
56
+
57
+ $this->hasColumn('name', 'string', 255, array(
58
+
59
+ 'type' => 'string',
60
+
61
+ 'length' => '255',
62
+
63
+ ));
64
+
65
+ // 他複数のhasColumn
66
+
67
+ }
68
+
69
+
70
+
71
+ // 結合テーブルの設定?
72
+
73
+ public function setMany() {
74
+
75
+ $this->hasMany('hoge2', array(
76
+
77
+ 'local' => 'mst_id',
78
+
79
+ 'foreign' => 'id'
80
+
81
+ ));
82
+
83
+ // 他複数のhasMany
84
+
85
+ }
86
+
87
+ }
88
+
89
+ ```
46
90
 
47
91
  このCSV出力がとても遅く、改修する必要が出てきました。
48
92
 

2

ソース修正

2017/09/23 01:07

投稿

red13
red13

スコア79

test CHANGED
File without changes
test CHANGED
@@ -8,29 +8,41 @@
8
8
 
9
9
  ```
10
10
 
11
- // ソーは適当
11
+ *** アクションクラ ***
12
12
 
13
- // ①DBからデータ取得
13
+ // SQL作る?
14
14
 
15
+ $sql = Doctrine_Query::create()->from('test t');
16
+
17
+ $sql->addWhere('t.id = ?', $id);
18
+
15
- $sqlData = ~;
19
+ // 他条件追加したり
16
20
 
17
21
 
18
22
 
19
- // ②ループしてCSV設定
23
+ // SQL発行して変数設定
20
24
 
21
- foreach ($sqlData) {
25
+ $this->csvData = $sql->getQuery()->execute();
22
26
 
23
- // 1件ずつデータを設定する
27
+ // 設定した変数はテンプレートphpで使用する
24
28
 
25
- $csvData .= ~;
29
+ ```
26
30
 
27
- }
31
+ ```
32
+
33
+ *** テンプレートphp ***
34
+
35
+ <?php foreach($csvData as $dataObj): ?>
36
+
37
+ <?php echo $dataObj->getId() ?>
38
+
39
+ // ここでさらにループしたり
40
+
41
+ <?php endforeach; ?>
42
+
43
+ ```
28
44
 
29
45
 
30
-
31
- // ③CSVダウンロードさせる
32
-
33
- ```
34
46
 
35
47
  このCSV出力がとても遅く、改修する必要が出てきました。
36
48
 

1

タグ修正

2017/09/22 23:50

投稿

red13
red13

スコア79

test CHANGED
File without changes
test CHANGED
File without changes