2014-12-23 3 views
2

글쎄요, 제 모델에 estimate.php라고 쓰여진 getDaysTotal 함수가 있습니다. 내가Yii2 : 에코 변수가 두 번 잘못 입력되었습니다.

echo $model->DaysTotal; 

를 사용하는 경우 내 view.php에 내가 값을 얻는 경우에 내가 다시

echo $model->DaysTotal; 

그것을 할 경우

3. 그러나 지금은 왜 내가, 어떤 생각을 1. 취득 그것을 이렇게 얻는 것. 이것은 estimate.php의 모든 함수에서 발생합니다. 두 번째로 사용하면 결과가 이상합니다.

여기에 뭐가 잘못 되었나요? 이 문제를 어떻게 해결할 수 있습니까? 감사합니다. .

public function getDaysTotal() { 
       $this->discharge_date = strtotime($this->discharge_date); 
       $this->admission_date = strtotime($this->admission_date); 

       $datediff = ($this->discharge_date - $this->admission_date); 

       $fraction_days = ($datediff/(60*60*24)); 

       if ($fraction_days < 1){ 
          return 1; 

       }elseif(($datediff)%(60*60*24) < 10800){ 
       $option2 = floor($datediff/(60*60*24)); 
       return $option2; 
       }elseif(($datediff%86400) > 10800 && ($datediff%86400)<21600) { 
        $option3 = ceil($datediff/(60*60*24)*2)/2; 
        return $option3; 
       }elseif (($datediff%86400) >21600){ 
        $option4= ceil($datediff/86400); 
        return $option4; 
       } 
+0

함수 코드 geDaysTotal 게시 –

+0

안녕하세요 @IsabelHM - 기능 코드로 질문 업데이트. – Pawan

+1

당신은 또한'admision_date' /'discharge_date' getters를 사용합니다. 그들 중 하나가 부작용이있을 수 있습니다. –

답변

3

당신을 줄 dosn't 경우

public function getDaysTotal() { 
      $this->discharge_date = strtotime($this->discharge_date); 
      $this->admission_date = strtotime($this->admission_date); 

당신은 그것을 할해서는 안된다. 다음 호출시 strtotime(int)은 두 행 모두에 대해 false를 반환합니다.

봅니다 다음 :

public function getDaysTotal() { 
      $discharge_date = strtotime($this->discharge_date); 
      $admission_date = strtotime($this->admission_date); 
      $datediff = ($discharge_date - $admission_date); 

사용 된 보조는 개체 상태 변경하지 않고, 여기에 바르.

+0

너무 많은 @vp_arth 감사합니다. 귀하의 제안으로 문제가 해결되었습니다. – Pawan

0

그것은 "에코 $ var에"가 아닌 객체가 될 수 있기 때문에 당신은 아무것도를 얻고있는 것이 재미있다 : 여기

getTotalDays 기능에 대한 코드입니다. PHP IN
<?php 
     $a = 6; 
     echo $a -> b; 
    ?> 

PHP Notice: Trying to get property of non-object. 

오른쪽 화살표를 가리키는 "->", "."는 유사하다 PHP에서 객체의 구성 부품을 접속하는 데 사용되는 ":"또는 보잘것 Java 및 C 계열과 같은 언어로 제공됩니다.

이 없으면 정확하게 어떤 일이 일어나고 있는지 말할 수는 없지만 아마도 this page on the "->"이 도움이 될 것입니다.

즉 당신이 여기에서 필요로하는 것은 귀하의 게터가 개체를 변경하는 general PHP note card

+0

아니요 처음으로 올바른 결과를 얻지 못했습니다. 문제는 내가 다시 사용할 때 문제가 발생했습니다. – Pawan

관련 문제