2012-03-15 7 views
1

업로드 플러그인을 만들려고합니다. 나는 모든 논리를 행동으로 유지하고있다. 이 문제는 어제까지 그리고이 이상한 문제가 떠오른 곳에서 모두 괜찮 았습니다.배열의 첫 글자 대신 숫자가 표시됩니다.

/*controller code */ 
debug($this->request->data); 
$this->Model->saveAll($this->request->data); 

/* outputs 
Array 
(
    [Ad] => Array 
    (
     [s] => 2 
     [d] => 2 
    ) 

    [Upload] => Array 
    (
     [field] => Upload 
     [table] => Ad 
     [filename] => Array 
      (
       [name] => index.php 
       [type] => application/x-php 
       [tmp_name] => /tmp/php3MbvRh 
       [error] => 0 
       [size] => 32 
      ) 

    ) 

) 

*/ 

나는 플러그인을 개발 중이다. 플러그를 BeforeSave에()는 I는 동일한 데이터를 디버깅하며 필드 속성의 숫자가 표시

public function beforeSave(Model $Model) { 
    debug($Model->data); 
} 

/* outputs 
Array 
(
    [Upload] => Array 
    (
     [1pload] => 
    ) 

) 
*/ 

매번 나타낸다. 때로는 1, 8 및/또는 9 :(

  • 플러그인 bootstrap.php로드 미세이다 (CakePlugin :: LOADALL())
  • 가 플러그인 업로드 테이블을 사용한다. 모델있는 유지된다 같은 모델.
  • 플러그인 동작이 제대로 정의되고
+0

아직 도움이되지는 않지만 완전히 멋진 업로드 플러그인이 있습니다. https://github.com/josegonzalez/upload –

답변

0

내가 여러 번 실행되고 있었다) 문제.하지만를 BeforeSave에서 디버그를() (알아낼 수 없었다. 그래서 지금은. 완벽하게 작동했다 , 플러그인에 추가했습니다.

if(isset ($this->data['preferred']['data']) { 

} 

처음 몇 번 통과해도 여전히 유사하지만 3 번째 또는 4 번째 시간에는 데이터가 표시됩니다.

그래서 beforeSave 플러그인이 모델의 beforeSave와 비동기 적이라는 이론이 있습니다. 그런 다음 수표를 넣으면 문제가 해결됩니다. 사실 그것은했다.

관련 문제