2014-01-29 2 views
0

데이터베이스의 한 테이블에 속하는 두 개의 젠드 폼이 있는데, 사용자가 그것을 끝내기 위해 게으르지 만 내 모델의 코드에 문제가 있는지 확인하지 못했습니다. . 나는 수많은 해결책을 시도 했더라도이 과실을 얻는 것을 계속한다.젠드 - 프레임 워크 관련

치명적인 오류 : $row 객체 아니라고,

public function smmedetailssmmedetails($companyname, $companytradingname) 
{ 
    $data = array(    
     'companyname' => $companyname, 
     'companytradingname' => $companytradingname, 
    ); 
    return $this->insert($data); 
} 

public function smmesdetails2smmedetails($smmeid, $numberemployees, $ownership) 
{ 
    $row = $this->find($smmeid)->current(); 
    $row->numberemployees = $numberemployees; 
    $row->ownership = $ownership; 
    return $row->save(); //problem lies on this line 
} 

다음 코드/방법

$this ->row->save(); 
$row->save(); 
$this ->row->save(); 
return $this -> row->save(); 

답변

1

오류에 따르면 시도중인 메소드 호출이 작동하지 않습니다.

먼저 디버거, var_dump 또는 print_r를 사용하여 무엇을

$this->find($smmeid)->current(); 

수익률을 확인해야합니다.

귀하의 경우에는 null이거나 개체가 아닌 것이 반환 된 것으로 보입니다. 가 인 print_r 내용은 가까운 덕분 때문에

1

이 수단을 사용하여 시도되지 않은 객체에 저장 멤버 함수()를 호출 (있어야합니다), 아마도 null입니다. 즉, find() 메서드는 데이터베이스에서 결과를 얻지 못했습니다.

$smmeid 값을 확인하고 해당 행이 데이터베이스에 있는지 확인해야합니다.

var_dump 함수를 사용하면 모든 행의 변수를 확인할 수 있습니다. 이것이 문제를 디버깅하는 방법입니다.

+0

$의 smmeid을 기본 키입니다, 나는 각자 자신의 컨트롤러가있는 양식을 슬쩍하고, 다음 양식을 클릭하면 정보가 테이블의 같은 행에 남아있게됩니다. –

0

얘들 아 내가 아래에이 방법을 사용하여 그것을 가지고, 나는 codeblur 대답을 표시 :

Example #1 print_r() example 
<pre> 
<?php 
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z')); 
print_r ($a); 
?> 
</pre> 

리턴 ($ 행); // 정답