エラーメッセージとその対処法

Posted by muchag | CakePHP | 2011-05-29 (日) 21:34:25

相変わらずしょーもないことで時間を食う。。。
同じ間違いを繰り返したくないものですな。 😐

エラーメッセージを見てピンとこないものと記事にしたものをピックアップ。

【環境】
[CakePHP] 1.3.8
Notice (8): Array to string conversion [CORE\cake\libs\model\datasources\dbo_source.php, line 749]
Warning (512): SQL Error: 1054: Unknown column ‘Array’ in ‘field list’ [CORE\cake\libs\model\datasources\dbo_source.php, line 684]
状況

会員制のサイトでユーザプロフィール登録編集画面。

今まで問題のなかった登録編集処理で突然上述のメッセージが出
処理ができなかった。

今までと異なったのは、プロフィール画像を指定しなかったこと。
 

原因

ファイルが存在しないときの記述が抜けていたのが原因。

ファイルのアップロード処理をフォームに設置すると、当該項目には

  1. Array
  2. (
  3.     [name] =>
  4.     [type] =>
  5.     [tmp_name] =>
  6.     [error] =>
  7.     [size] =>
  8. )

これだけの情報が渡される。

ところが

  1. echo $form->file('image');

上記のようにフィールド指定でモデルと連携した登録処理をする場合

  1. $this->data['(モデル名=フォーム名)']['(フィールド名)'] =;

となるはずなので、ファイルアップロードのところを放置しておくと

  1. $this->data['(モデル名=フォーム名)']['image'] = 配列;

となってしまい、前述のような警告が出て、処理が止まる。

今まで稼動していたのは、ファイルが存在するときの処理は記述していたから。
つまり、ファイルが存在しないときの記述が抜けていたのが原因。
 

対処

ファイルが存在しないときの処理を付加。

CakePHP | 2011-05-29 (日) 21:34:25 |

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment