【发布时间】:2021-08-15 09:51:12
【问题描述】:
我正在使用 foreach 将动态参数传递给模型以检索数据。我试图在视图中显示结果并得到一些错误。请建议是否有针对这种情况的更好方法。
控制器:
$part_ids = $this->COC_model->getDesignParts($batch,$sr_no);
$parts_activities = [];
foreach ($part_ids as $current_part_id) {
$parts_activities['part_activities'] = ['part_id' => $current_part_id->id,
'activities' =>$this->COC_model->getActivities($batch,$sr_no,$current_part_id->id),
'row'=>$this->VDIR_model->get_batch_details($batch,$sr_no,$current_part_id->id)];
}
$this->load->view('QC/COC',$parts_activities);
型号:
function getDesignParts($batch,$sr_no){
$query = $this->db->query("SELECT
id,part_name,part_no
FROM
design
WHERE
batch_id='$batch' AND
sr_no='$sr_no'");
return $query->result();
}
function getActivities($batch,$sr_no,$part_id){
$query=$this->db->query("select activities,pi_activities.id as char_activity_id,specification_from,specification_to
from pi_activities
where batch='$batch' and sr_no='$sr_no' and part_id='$part_id'");
return $query->result();
}
function get_batch_details($batch,$sr_no,$part_id){
$query=$this->db->query("select id,test_field
from test
where batch='$batch' and sr_no='$sr_no' and part_id='$part_id'");
return $query->row();
}
查看:
foreach ($part_activities as $getActivity):
echo $getActivity['part_id'];
?>
<table class="table-bordered table-responsive table">
<tr class="set-width1">
<?php foreach ($getActivity['activities'] as $key => $activity) {?>
<td><?= $activity->activities;?></td>
<?php }?>
</tr>
</table>
<?php endforeach;?>
错误:
Message: Illegal string offset 'part_id'
Message: Invalid argument supplied for foreach()
【问题讨论】:
-
你为什么不加入这个表?
-
我想根据传递的 part_id 创建多个表。这就是我在 foreach 中添加表格的原因。
标签: php arrays codeigniter