данные не получены из базы данных в Codeigniter - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь отправить своим клиентам по почте с помощью 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 Ответ

0 голосов
/ 25 мая 2018

Здесь вы передаете переменную от контроллера к модели

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

Но в модели вы не получаете никакой переменной.

public function send_mail()

Измените его на

public function send_mail($appointment_id)

Вам необходимо использовать переданный $ assign_id в условии where, если нет, он возвращает все строки в таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...