私はCodeigniterでプロジェクトをやっています。ここでは、imap を使用して gmail id から最新の 10 件のメールを取得します。ここでは、取得したメールの from フィールドを取得し、取得したメールの from フィールドがデータベースにあるかどうかを確認しますtable('clients')
。ここでは、取得したメールのフィールドから 10 を配列に格納し、それをモデルに渡しました。モデルではチェックが行われ、一致するフィールド名が返されます。しかし、それは私にとってはうまくいきません。
私のコントローラー機能は次のとおりです。
if ($mbox = imap_open($authhost, $user, $pass)) {
$emails = imap_search($mbox, 'ALL');
$some = imap_search($mbox, 'SUBJECT "Suspicious sign in prevented"', SE_UID);
$MC = imap_check($mbox);
$inbox = $MC->Nmsgs;
$inboxs = $inbox - 9;
if ($emails) {
$data['overview'] = imap_fetch_overview($mbox, "$inboxs,$inboxs:$inbox", 0);
$i = 0;
foreach ($data['overview'] as $i => $val) {
$from[$i] = $val->from;
$i++;
}
$data['result'] = $this->crm_model->get_names($from);
foreach ($data['result'] as $row) {
echo $row->name;echo "<br/>";
}
}
imap_close($mbox);
}
そして、私のモデル関数は次のとおりです。
function get_names($from) {
$this->db->select('name');
$this->db->from('clients');
$this->db->where_in('name', $from);
$query = $this->db->get();
return $query->result();
}
しかし、上記のモデル関数を以下のように使用すると、値が返されます
function get_names() {
$options = array(
'0' => 'Job Openings',
'1' => 'Offers',
'2' => 'Techgig',
'3' => 'Australia',
);
$this->db->select('name');
$this->db->from('clients');
$this->db->where_in('name', $options);
$query = $this->db->get();
return $query->result();
}
問題は、コントローラーからモデルに値を渡すことにあると思います。誰でも私を助けることができますか?前もって感謝します