dongxia2068 2016-08-10 10:56
浏览 40
已采纳

试图获取非对象的属性:在模型codeigniter中返回多变量

Controller

    $this->load->model('position_model','m_position');
                $get_supervisor[] = $this->m_position->get_supervisor($id_position);
                $get_position=$this->m_position->get_position($id_position);    
                $data1 = array(
                    'id_position' => $id_position,
                    'name_position' =>$get_position->position_name,
                    'id_supervisorposition'=>$get_supervisor->idsprvisor,
                    'id_supervisorposition1' =>$get_supervisor->idsprvisor1
                    );
                $this->position->ins_employee_position($data1);

Model

 public function get_supervisor($position_id){
$position=$this->get_position($position_id);
$unitid=$position->unitid;
$grade_id = $position->grade_id;
$idsprvisor = $position_id;   //default value;
$idsprvisor1 = $position_id;   //default value;
$get = $this->get_unit_by_unitid($unitid)->result();
$cucok=0;
foreach ($get as $unit) {  
  if ($unit->grade_id<=$grade_id) { 
switch ($cucok){
    case "0":        
      $idsprvisor=$unit->positionid;
      break;
    case "1":        
      $idsprvisor1=$unit->positionid;
      break;
  }
$cucok++;
}
return array('idsprvisor'=>$idsprvisor,'idsprvisor1'=>$idsprvisor1);}

Problem in this line

'id_supervisorposition' =>$get_supervisor->idsprvisor,

'id_supervisorposition1' =>$get_supervisor->idsprvisor1

  • 写回答

1条回答 默认 最新

  • dougou1943 2016-08-10 12:27
    关注

    You are returning an array from your model function ( return array('idsprvisor'=>$idsprvisor,'idsprvisor1'=>$idsprvisor1); ). You cannot access elements in an array in the same way you access properties in an object.

    Check following lines

    'id_supervisorposition'  => $get_supervisor->idsprvisor,
    'id_supervisorposition1' => $get_supervisor->idsprvisor1,
    

    if you have $get_supervisor assigned to an object you wouldn't be getting this error,but since $get_supervisor is actually an array so you cannot access it in this way.

    Try this

    'id_supervisorposition'  => $get_supervisor['idsprvisor'],
    'id_supervisorposition1' => $get_supervisor['idsprvisor1'],
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog