Данные не получены из базы данных в Codeigniter

Я пытаюсь отправить своих клиентов по почте через 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 Серьезность: уведомление

Сообщение: Попытка получить свойство не-объекта

Имя файла: контроллеры / App_controller.php

Спасибо за помощь

просто напечатайте $ query Я думаю, ваш запрос не будет работать.

Arsalan Akhtar 25.05.2018 08:37

Я предполагаю, что send_mail() должен быть send_mail($appointment_id), иначе как вы получаете $appointment_id в функции (опечатка)? Далее я склонен согласиться с остальными, у вас нет ссор. Либо ваш запрос не выполняет то, что вы думаете, либо $appointment_id ни к чему не относится ... либо ваша опечатка на самом деле не была опечаткой, и в этом случае я удивлен, что вы не получаете ошибок ...

Alex 25.05.2018 09:20

Я удаляю $ assign_id из модели, теперь она работает, но все еще не могу отправлять данные по почте

Sagar Parikh 25.05.2018 10:11

Можете ли вы также добавить результат print_r, а для отправки почты smtp вам нужен идентификатор электронной почты и пароль, чтобы тогда отправлялась только почта.

Chaitanya Desai 26.05.2018 08:15
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

public function send_mail()

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

public function send_mail($appointment_id)

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

Другие вопросы по теме