2016-01-05 4 views
0

Я новичок в этом ... помогите мне, пожалуйстаПричина, по которой невозможно получить доступ к пустой собственности?

$ Данные объекта

stdClass Object ([menu_id] => 38 [menu_code] => M062 [menu_name] => BAP (RICE) [price] => Rp 6.364 [total] => 1 

и $ поля является массив, это не все ..

Array ([0] => Array ([code] => menu_id [title] => ID [width] => 5) [1] => Array ([code] => menu_code [title] => Kode [width] => 8) [2] => 

и это моя функция:

function writeRowAsli($row, $startChar, $fields, $data){ 
    $i=$startChar; $j=''; $k=''; 
    foreach($fields as $field){ 
     $k = $j.$i; 
     $this->excel->getActiveSheet()->setCellValue($k.$row, $data->$field['code']); 
     $last = $k; 
     if($i == 'Z'){ 
      $i='A'; 
      $j.=$i; 
     } else $i++; 
    } 
    $this->excel->getActiveSheet()->setCellValue($j.$i.$row, '=SUM(C'.$row.':'.$k.$row.')'); 
} 

я знаю, плохая линия $ this-> Excel-> getActiveSheet() -> setCellV alue ($ k. $ row, $ data -> $ field ['code']); спасибо всем

ответ

0

Изменение функции, как показано ниже, и проверить, если его работа или нет:

function writeRowAsli($row, $startChar, $fields, $data){ 
    $i=$startChar; $j=''; $k=''; 

    $fields = array_filter($fields); 

    foreach($fields as $field){ 
     $k = $j.$i; 
     $this->excel->getActiveSheet()->setCellValue($k.$row, $data->$field['code']); 
     $last = $k; 
     if($i == 'Z'){ 
      $i='A'; 
      $j.=$i; 
     } else $i++; 
    } 
    $this->excel->getActiveSheet()->setCellValue($j.$i.$row, '=SUM(C'.$row.':'.$k.$row.')'); 
} 
Смежные вопросы