Система ожидающих запросов / принятия в Codeigniter - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь создать систему больницы / пользователя, в которой пользователь может запросить конкретную больницу, если имеется образец крови.Итак, логика такова: я буду хранить три идентификатора пользователя, крови и больницы в таблице запроса, позже я получу имя из другой таблицы, используя запрос на соединение.(пожалуйста, скажите мне, если это возможно каким-либо другим способом)

Вот моя страница просмотра (она получает данные из таблицы 'blood'):

    <table>

     <?php if(count($blood_all>0))
     { $i=0;
     foreach ($blood_all as $user) {
     $i++;
     ?>
     <tr>
     <td><?php echo $i ?></td>
     <td><?php echo $user->btype ?></td>
     <td><?php echo $user->detail?></td>
     <td><?php echo $user->hospital_id?></td>
     <td>
              <?= anchor("Property/blood_req/{$user->id}",'Request', ['class'=>'btn btn-primary']); ?>
     </td>

     </tr>
     <?php }
     }?>
     </table>

, поэтому, когда пользователь нажимает запрос, он отправляетid таблицы крови (если я прав)

если пользователь не авторизован, он / она должен будет войти в систему, после этого он / она может отправить запрос: Обратите внимание: у меня уже в больницеtable, поэтому мне нужно будет только сохранить user_id, чтобы администратор знал, какой пользователь отправляет запрос.

Вот мой контроллер:

   public function blood_req($blood_id)
      {
        if(!$this->session->userdata('user_id'))
         {
           return redirect('Login/loginview_load');
          }
         else {
           $this->load->model('Partner_model');
           $data['blood']=$this->Partner_model->find_blood($blood_id);
           $user =$this->session->userdata('user_id');
          $user_data = array(
            'blood_id' =>$this->input->post($data['id']) ,
            'hospital_id' =>$this->input->post($data['hospital_id']) ,
            'user_id' =>$user
           );
            if($this->Partner_model->req_send($user_data))
          {
            $this->session->set_flashdata('login','Request sent Successfully');
            return redirect('Property/available');
          }
          else {
            echo "fail";
          }


         }
      }

, а вот моя модель:

   public function find_blood($blood_id)
  {
    $q=$this->db->select('*')
    ->where('id',$blood_id)
    ->get('blood');
    return $q->row();
  }
 public function req_send($data)
  {
   return $this->db->insert('request',$data);
  }

Когда я нажимаю запрос, его печать «сбой», что означает, что данные не были вставлены в таблицу запроса.

1 Ответ

0 голосов
/ 04 января 2019

Вы получаете доступ непосредственно к значениям. используйте приведенный ниже код для доступа к значениям вашего массива. Поскольку вы указали данные в комментарии, он показывает, что ваш массив blood равен stdClass Object, поэтому вы должны получить к нему доступ, используя ->.

$user_data = array(
    'blood_id' =>$data['blood']->id,
    'hospital_id' =>$data['blood']->hospital_id ,
    'user_id' =>$user
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...