購読がキャンセルされたユーザーは
テーブルに記録されていきます。lead_donotcontact
しかしこのテーブルだけでは、ユーザーの情報については見ることができません。
mysql> SHOW columns FROM lead_donotcontact;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| lead_id | int(11) | YES | MUL | NULL | |
| date_added | datetime | NO | | NULL | |
| reason | smallint(6) | NO | MUL | NULL | |
| channel | varchar(255) | NO | | NULL | |
| channel_id | int(11) | YES | | NULL | |
| comments | longtext | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)
各種情報はleads
に記録されていますので、JOINして取得してやりましょう。
mysql> SELECT leads.id,leads.date_added,comments FROM leads INNER JOIN lead_donotcontact ON leads.id=lead_donotcontact.lead_id;
+------+---------------------+--------------------------------------------+
| id | date_added | comments |
+------+---------------------+--------------------------------------------+
| 1 | 2018-08-10 03:20:13 | 間違った形式のメールアドレス |
| 10 | 2018-08-10 04:21:08 | 間違った形式のメールアドレス |
| 19 | 2018-08-10 04:26:28 | 間違った形式のメールアドレス |
| 30 | 2018-08-10 04:31:17 | 間違った形式のメールアドレス |
| 31 | 2018-08-10 04:40:43 | 間違った形式のメールアドレス |
| 32 | 2018-08-10 04:49:26 | 間違った形式のメールアドレス |
+------+---------------------+--------------------------------------------+
あとは以下のような形でCSV出力もできます。
mysql> SELECT * FROM leads INNER JOIN lead_donotcontact ON leads.id=lead_donotcontact.lead_id INTO OUTFILE '/tmp/do_not_contact.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"';
MauticのREST APIを使ったほうがいい気もしますが、ユースケースにあわせて使い分けていくと良いでしょう。