2017-10-23 4 views
0

이 문제가 계속 발생합니다. Im는 fuelphp에 새로운 기능을 제공하므로 완전히 작동하는 것은 확실하지 않지만 코드가 중지됩니다. 내가 $program->save();ErrorException [오류] : 비 객체의 멤버 함수 save() 호출

$setup->network_rep_comission = Input::post('standard_comission'); 
      $setup->message = Input::post('message'); 
      $setup->updated_at = date("Y-m-d H:i:s", time()); 
      $program->commission_rate = Input::post('commission_rate'); 
      $setup->save(); 
      $program->save(); 
      Session::set_flash('success', "Settings saved successfully"); 

     } 

     $this->template->set_global('setup', $setup);// = "Setup"; 

내가 두 번 저장해야하기 때문에인가를 추가 한 후 작업? 이 문제를 어떻게 해결할 수 있습니까?

+0

어쩌면 개체가 초기화되지 않습니다에 대한 내 첫 코멘트의 IT 당신을 도울 수 있기를 바랍니다. 여기서 제공 한 코드에서 객체의 새로운 인스턴스가 있다고 말할 수는 없습니다. 나는. 'save()'메소드를 사용하기 전에'$ program = new Program; '과 같은 것이 있어야한다. – Tpojka

답변

1

먼저 Fuel Php 코어 시스템에 과부하가 걸립니까? 그렇지 않으면 Input :: post() 대신 \ Input :: post()를 사용할 수 있습니다.

//Secondly put your datas on one array like : 
//Don't forgot to put your code on a try catch too 

try{ 
    $setup = array(
    'rep_commission' => \Input::post('network_rep_comission'); 
    'message'  => \Input::post('message'), 
    'updated_at'  => \Input::post('updated_at') 
); 
    $program = array(
    'commission_rate' => \Input::post('commission_rate'), 
); 

    //Then you can convert your array with your objects properties using setters 
    //methods of your object model : 

    \DB::start_transaction(); 

    $this->setup = new \Model_Setup(); 
    $this->setup->set_network_rep_comission($setup['rep_commission']); 
    $this->setup->set_message($setup['message']); 
    $this->setup->set_updated_at($setup['updated_at']); 

    $this->setup->save(); 

    $this->program = new \Model_Program(); 
    $this->program->set_commission_rate($program['commission_rate']); 

    $this->program->save(); 

    \DB::commit_transaction(); 

    \Session::set_flash('success', "Settings saved successfully"); 

}catch(\Exception $ex){ 
    \DB::rollback_transaction(); 

} 
    $this->template->set_global(array(
    'setup' => $this->setup 
)); 

나는 그것이 스택 오버 플로우 ^^