Я пытаюсь создать систему больницы / пользователя, в которой пользователь может запросить конкретную больницу, если имеется образец крови.Итак, логика такова: я буду хранить три идентификатора пользователя, крови и больницы в таблице запроса, позже я получу имя из другой таблицы, используя запрос на соединение.(пожалуйста, скажите мне, если это возможно каким-либо другим способом)
Вот моя страница просмотра (она получает данные из таблицы '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);
}
Когда я нажимаю запрос, его печать «сбой», что означает, что данные не были вставлены в таблицу запроса.