bugfix> php > 投稿

私はCodeIgniterを介して顧客にメールを送信しようとします。予約を登録するとき、顧客テーブルで顧客の電子メールを見つけて他のテーブルから顧客の電子メールを見つけ、確認のために電子メールを送信します。

これは私のApp_model.phpです

 public function send_mail()
     {
       $query=$this->db
       ->select('*, employee.name_emp as emp_name, customer.name as 
        cust_name, servicetype.name_set as s_name, serviceplan.price as 
         p_rice')
       ->from('appointment')
         ->join( 'customer', 'customer.id= appointment.name_app')
         ->join( 'servicetype', 'servicetype.id_set= appointment.sertype')
         ->join( 'employee', 'employee.id_emp= appointment.emp')
       //  ->join('serviceplan', 'serviceplan.price=appointment.price_app')
       ->get();

    return $query->result();
     }

これは私のApp_controllerです

      function sendmail($appointment_id){
        $config = Array(
            'protocol' => 'smtp',
            'smtp_host' => 'ssl://smtp.googlemail.com',
            'smtp_port' => 465,
            'smtp_user' => 'xxx',
            'smtp_pass' => 'xxx',
            'mailtype'  => 'html',
            'charset'   => 'iso-8859-1'
        );
        $this->load->library('email', $config);
        $this->email->set_newline("\r\n");
        // Set to, from, message, etc.
        $this->load->model('App_model');
        $appointment=$this->App_model->send_mail($appointment_id);
       // print_r($appointment);
        //exit();
       $message=Array(
           $message=Array(
      'Name'=>$appointment[0]->cust_name,
     'Service Type'=>$appointment[0]->s_name,
    // 'Service Plan'=>$appointment->p_rice,
     'Employee'=>$appointment[0]->emp_name,
      'Date'=>$appointment[0]->date,
     'Time'=>$appointment[0]->time
    );
          $this->email->from('xxx', 'xxx');
               $this->email->to('xxx');
               $this->email->subject('Confirmation of Your Appointment');
               $this->email->message($message);
        $result = $this->email->send();
         }

print_r($appoinment) で確認する&そのすべてのデータが表示されますが、プログラム全体を実行してもエラーは表示されず、メールはまだ機能していません

PHPエラーが発生しました 重大度:通知

メッセージ:非オブジェクトのプロパティを取得しようとしています

ファイル名:controllers/App_controller.php

手伝ってくれてありがとう

回答 1 件
  • ここで変数をコントローラーからモデルに渡します

    $appointment=$this->App_model->send_mail($appointment_id);
    
    

    しかし、モデルでは変数を受け取りません。

    public function send_mail()
    
    

    に変更する

    public function send_mail($appointment_id)
    
    

    where条件で渡された$appointment_idを使用する必要があります。そうでない場合は、テーブル内のすべての行を返します。

あなたの答え