我试图从请求表中获取数据,但我只需要表的特定行。所以在正常情况下,我用 where('hospital_id',$hospital_id)
但是我使用join查询用户名和血型,所以当我尝试 WHERE
在连接查询中,它显示:
“此页不工作”http错误500。
我试着把 WHERE
在其他方面,比如:之后 from
,之后 join
但结果还是一样。
这是我的模型:
$hospital_id =$this->session->userdata('hospital_id');
$query=$this->db
->select('*, user.name as h_name, blood.btype as blood_type')
->where('hospital_id',$hospital_id)
->from('request')
->join('user', 'user.id= request.user_id')
->join('blood', 'blood.id= request.blood_id')
->get()->result();
这是我的控制器:
public function view_req()
{
if(!$this->session->userdata('hospital_id'))
{
return redirect('Login/loginview_load2');
}
else {
$this->load->model('Partner_model');
//$data['title']="partner profile";
$data['all_blood']=$this->Partner_model->get_id_req();
$this->load->view('view_request',$data);
}
}
以下是我的观点:
<?php if(count($all_blood>0))
{ $i=0;
foreach ($all_blood as $user) {
$i++;
?>
<tr>
<td><?php echo $i ?></td>
<td><?php echo $user->user_id ?></td>
<td><?php echo $user->h_name ?></td>
<td><?php echo $user->blood_id?></td>
<td><?php echo $user->blood_type?></td>
<?php }
}?>
3条答案
按热度按时间ycl3bljg1#
此消息错误可能来自其他代码段。无论如何,您可以尝试使用调试查询
在->get()之前
更多信息https://www.codeigniter.com/userguide3/database/query_builder.html
xxhby3vn2#
该页无法工作,因为它的字段名与多个表的字段名相同,只需更改字段名即可&它工作正常。有两个表blood&request,当您使用join查询时,它工作得很好,但当您应用“where”条件时出现了问题。两个表都有相同的名称字段“hospital\u id”,所以“where”条件不起作用&显示“page不起作用”。请不要在不同的表中使用相同的字段名
s4chpxco3#
您是否尝试过将->where('hospital\u id',$hospital\u id)放在->join(?)?
继续努力!