嗨朋友我在阵列中有一个小小的想法,所以请帮帮我!!!
这里我有 3个表
1. tbl_prescription
2. tbl_pre_medi
3. tbl_stock
tbl_stock
用于保存药物库存
m_id on_hand returned
111 600 0
222 600 0
on_hand
当前库存已退回正在销售药品,我们选择一些数量添加到退货并从on_hand减去的药品
tbl_prescription
用于存储购买的医疗数据,tbl_pre_medi
存储按数组插入的数量和药品名称
tbl_prescription
prscrptn_id p_opno p_family p_patient p_date
1 1002 2 5 2017-08-04
2 1003 2 3 2017-08-04
tbl_pre_medi
med_prscrptn_id medi_id medi_qunty
1 111 4
1 222 2
2 222 5
这里插入了我的数据,但是如何用tbl_pre_medi检查tbl_stock - 这个表数据是在数组中如何检查where条件中的数组值?
我的控制器
$pid=$this->input->post('pid');
$data = array(
'prscrptn_id' =>$pid,
'p_opno' =>$this->input->post('opno'),
'p_family' =>$this->input->post('family'),
'p_patient' =>$this->input->post('member'),
'p_date' =>$this->input->post('date')
);
$form_data=$this->input->post();
$medicine=$form_data['medi_name'];
$qunty=$form_data['qty_med'];
$result=$this->Prescription_model->insert_prscrptn($form_data,$data,$pid);
我的模特
public function insert_prscrptn($form_data,$data,$pid)
{
$medicine=$form_data['medi_name'];
$qunty=$form_data['qty_med'];
$this->db->select('*');
$this->db->from('tbl_stock');
$this->db->where('m_id',$medicine);
$query = $this->db->get()->result();
$insert_prscrpt=[];
foreach($medicine as $key => $value)
{
$insert_prscrpt[$key]=
array(
'medi_id'=>$medicine[$key],
'medi_qunty'=>$qunty[$key],
'med_prscrptn_id'=>$pid
);
}
$query1=$this->db->insert('tbl_prescription',$data);
$query=$this->db->insert_batch('tbl_pre_medi', $insert_prscrpt);
return $query;
}
如何检查条件中的数组值?
任何人帮助我!!!
提前谢谢
答案 0 :(得分:1)
对于codeigniter中的数组,您需要使用where_in
子句而不是where
,如下所述。
$this->db->where('meb_id',$medicine);
<强>替换强>
$this->db->where_in('meb_id', $medicine);
如果不起作用,请告诉我。