2012-03-15 4 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()では同じデータをデバッグして表示します。

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

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

) 
*/ 

fieldsプロパティには常に数値が表示されます。時々その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のものと非同期であるという理論を持っています。もし私がチェックを入れると、それが問題を解決するでしょう。実際にそれはしました。

関連する問題