当我尝试strtolower()我签入的codeigniter时得到的跟随错误。 这是错误:
strtolower() expects parameter 1 to be string, object given
和
Undefined property: CI_Loader::$unit_id
这是我的观点
<div class="checkbox">
<?php foreach ($unit_list as $unit) :?>
<?php $isChecked = (strtolower($unit->unit_id) == strtolower($unit_id)) ? true : false; ?>
<label>
<input type="checkbox" checked='$isChecked' name="unit_id[]" value="<?php echo $unit->unit_id ?>"><?php echo $unit->unit_id ?>
</label>""
<?php endforeach?>
</div>
这个控制器
$this->data['unit_list']= $this->munit_list->get_all_unit_list2();
$fleet = $this->input->post('id_fleet');
$unit_id = $this->input->post('unit_id');
$this->data['unit_id']= $unit_id;
// get shift and date
$q = $this->database_three->select("*")->from('fleet')->where('id_fleet', $fleet)->limit(1)->get()->row();
$fleet_date = $q->date;
$fleet_shift = $q->shift;
//$this->db->select('f.*, fm.*')->from('fleet_member as fm, fleet as f');
$custom_sql = "fm.id_fleet = f.id_fleet AND f.date = '$fleet_date' AND f.shift = '$fleet_shift'";
$custom_where = "";
$records = array();
for ($i=0; $i < count($unit_id) ; $i++) {
$records[] = array(
'id_fleet' => $fleet,
'unit_id' => $unit_id[$i]
);
模型
function get_all_unit_list2()
{
$this->database_two->order_by('unit_id','desc');
$data = $this->database_two->query(
"Select unit_list.unit_id, vehicle_group.vec_type, vehicle_group.vec_group
from unit_list, vehicle_group
where unit_list.vec_type = vehicle_group.vec_type
AND vec_group IN ('OHT','ADT') ");
return $data->result();
}
你可以帮我解决这个问题吗?
答案 0 :(得分:0)
首先,在您看来,您有以下错误
<label>
<input type="checkbox" **checked='$isChecked'** name="unit_id[]" value="<?php echo $unit->unit_id ?>"><?php echo $unit->unit_id ?>
</label>
其次你从两个变量$ records []和$ data [&#39; unit_id&#39;]中通过控制器传递相同的$ unit_it现在我不确定你传递的是哪一个如果它的$记录[ ]而不是它的阵列和你的条件
<?php $isChecked = (strtolower($unit->unit_id) == strtolower(**$unit_id**)) ? true : false; ?>
你正在使用一个字符串,这就是为什么你得到ci_loader数组它希望一个字符串转换为strtolower但你传递一个对象或数组
尝试解决这些问题后,您将理解,因为我无法看到您要传递给哪些变量的完整代码。
此致
Imran Qasim
答案 1 :(得分:0)
我可以看到你的代码没有通过$ unit_id来查看,所以你得到了Undefined属性:
CI_Loader::$unit_id and secondly
在您的unit_list arrary中确保您在
中获取数据result() not in resul_array()
我的意思是你打电话给你的控制器
get_all_unit_list2()
然后返回应该是result()
形式的对象或数组例如
$this->data['unit_list']= $this->munit_list->get_all_unit_list2();
现在在您的模型中
function get_all_unit_list2()
你应该有一个查询并且我应该返回
$query= $this->db->get('tablename');
return $query->result();
现在在您的视图中,如果存在变量
,您可以使用$ unit_list-&gt; unit_id$this->data['unit_list']
希望这会说清楚。