2016-08-10 7 views
0

CodeIgniterのモデルにマルチ変数を返すコントローラ非オブジェクトのプロパティを取得しようとすると:

$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); 

モデル

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);} 

この行の問題

'id_supervisorposition' = > $ get_supervisor-> idsprvisor、

'id_supervisorposition1' => $ get_supervisor-> idsprvisor1

+1

'$ get_supervisor [] = $これを試してみてください - > ...'この行は、配列ではなく、オブジェクトを作成します。おそらく、あなただけの角括弧を削除することができます: '$ get_supervisor = $この - > ...' – Steve

答えて

0

モデル関数(return array('idsprvisor'=>$idsprvisor,'idsprvisor1'=>$idsprvisor1);)から配列を返します。オブジェクトのプロパティにアクセスするのと同じ方法で、配列内の要素にアクセスすることはできません。

チェック次の行

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

あなたはこのエラーを取得されないオブジェクトに割り当てられ$get_supervisorを持っている場合

が、 $get_supervisor以降は、実際にはこの方法でそれをアクセスすることはできませんので、配列です。

この

'id_supervisorposition' => $get_supervisor['idsprvisor'], 
'id_supervisorposition1' => $get_supervisor['idsprvisor1'], 
+0

はまだ 未定義のインデックスエラー:idsprvisorを。 未定義のインデックス:idsprvisor1; D: .. –

+0

は仲間... $ get_supervisor [] ''から角括弧を削除し、その結果に – RanjanaLK

+0

愚かなエラー,,ハハハ、ありがとうコメント –

関連する問題