エラーを連想配列に入れてある。メッセージ)という形また、Upload::save()を呼び出した後は、以下の2つのフィールドが追加されます。保存の際のファイル名configに関してconfigに関しては、日本語ドキュメントが充実しているの省きます。設定エラー文に関してエラー文はcore/lang/en/upload.phpに書いてあります。必要であれば、日本語化をしておきましょう。自分は日本語にしてません・・・。directory',);Upload::registerに関してUpload::registerメソッドは特定のメソッドの際にコールバックとして処理を追加することができます。これにより、バリデーションを追加したり、ファイルの保存先を拡張子別に変えたりすることができます。$callback)$eventにはvalidate(検証時),before(save()が行われる前),after(save()が行われた後)を指定できる。コールバックには$fileが入る。Upload::registerメソッドは基本的にprocessメソッドが呼ばれる前に行っておきましょう。(正確に言えば、validateを指定する場合はproccessより前で、beforeやafterを指定する場合はsaveより前に指定をしてください。}});このようにすることで、動的に保存先を切り替えることが可能です。こちらで定義された、$fileですが、上の方で説明した$filesの中身がそのまま入っています。まとめ・最初は迷ったけど、Uploadクラスは結構便利。・コールバックが使える。慣れてしまえば、いろいろと利用出来そうです。Uploadされたファイルに限定されるので、URLで指定したファイルを動的に出来たら良かったかな・・・って感じです。162013FuelPHPのOrm\Model_Softを使おうこんばんは。本日は、あんまり使われてる形跡がないOrmのModel_Softに関して解説。Model_Softは1.4か1.5から入った・・・のかな。1.3では入ってなかったと思います。Model_SoftについてModel_Softとは論理削除に対応したModelです。論理削除とは、物理削除とは異なり、データを残したまま削除することです。delete_flagと呼ばれるカラムを用意して、delete_flagが1の場合は読ませないようにします。Model_SoftはOrm\Modelを継承しています。);}このような形となります。$_soft_deleteには以下のプロパティが指定出来ます。mysqlタイムスタンプを使用するか基本使用方法Model_Softクラスは\Orm\Modelを継承しているため、Orm\Modelと同等に扱うことが可能です。findやqueryで取得してくる値はdeleted_fieldがnullのものになります。論理削除のレコードを取得する論理削除されたレコードを取得するにはfind_deletedまたはdeletedを使用します。find_deletedはdeletedのエイリアスのようなものなのでdeletedを使えばよいでしょう。論理削除のレコードを復元する論理削除のレコードを復元するには、restore()かundelete()を呼び出すだけです。undelete()はrestore()のエイリアスです。復元$deleted->restore();Model_Softを一部に使いたくないとき、使いたいとき例えば、カテゴリ一覧を格納するだけのテーブルの場合、削除時刻など不要なものになります。逆にこの時だけModel_Softを利用したい。いう時があるかもしれません。そのような際には、$_disable_filterやメソッドを使用します。false);falseの場合は使いたくない時。通常はデフォルトでtrueになる。//使いたいときまとめ・論理削除はデータを管理する上で便利。(データが残るため)・物理削除よりも速度が早い。・だから使うといいと思うよ。こちらの記事を書く前に私自身である程度クラスのコメントを和訳しておきました。→https://gist.github.com/fagai/5394102便利かはわかりませんが、参考になればいいかな・・・。最後に、find_all()とかdeleted_fieldも含めたfindもあれば良かったかな・・・。062013こんばんは。タイトルの通りなのですが、比較的簡単に実現したかったわけで。比較的簡単に除きますか。"'id',\n\t\t".$properties.',';こうします。これでオプションとして–no-idをつければ出来ると思ってたら思わぬミスを発見。$field_str;え?orじゃなくてandじゃね・・・?orじゃ$have_id付けた意味無いじゃん・・・ってことになった。$field_str;一応、idは付かなくなった。その下の行に直接array(‘id’)が書かれていた・・・。ここはif判定やっちゃえばいいんだけども。使いやすくならないかなぁ。面倒なことに、$have_idの部分のorをandにしたらidが付かなくなった。内部を確認した所、$have_idは全く効力を持っていなかった。idを付けてみたらidが2つ付いた形でmigrationが発行されてしまった。'id:int');この判定を突っ込む。ここでidを振ってあるかどうかを確認する。idを振ってなかったら振る。あとは、action.phpの一部を変更。true;これの下部に以下を追加。continue;}以上!とりあえずこれで自分は動くようになったので、これで一旦触りますかね・・・。以前の記事プロフィールファガイ本当のWebエンジニアを目指す27歳。新人Webエンジニアの記録。