2012年12月30日日曜日

fuelPHPのOrm Modelのdeleteを論理削除に変える(リレーションにも対応してるよ)

fuelPHPのOrmパッケージは非常に便利なのですが、deleteがレコードの物理削除なので論理削除に挑戦してみました。
※fuelPHP1.5で論理削除がサポートされますた。ここを見てね。


[前提条件]
  1. テーブルのカラムに「deleted」という論理削除用のカラムを設ける
[実装概要]
  1. 「Model_User extends Model_Base extends \Orm\Model」のように3層構造の継承関係にする。
  2. Model_Baseにてdelete($cascade = null, $use_transaction = false){}をオーバーライドして論理削除を実装する
  3. Model_Baseにてfind($id = null, array $options = array()){}をオーバーライドして「where deleted = 0」を付加する
  4. Model_Baseにてcount(array $options = array()){}をオーバーライドして「where deleted = 0」を付加する

[ソースコード]
array型の$cascadeは対応していません

このエントリーをはてなブックマークに追加

2012年12月21日金曜日

Could not launch No such file or directory

xcodeで
「Could not launch No such file or directory 。。。」
ってエラーが出てアプリが起動しなくなってしまった時に行ったこと。

  1. xcodeの再起動
  2. アプリ削除
  3. クリーンビルド


このエントリーをはてなブックマークに追加

2012年12月11日火曜日

fuelPHPのエラー「The session data stored by the application in the cookie exceeds 4Kb.」を解消する

セッションデータのサイズが4kバイトを超えると「The session data stored by the application in the cookie exceeds 4Kb.」というエラーがでるようです。
これはセッションの保存先を変更すれば解決できます。

[手順]

1.「fuel/core/config/session.php」を「fuel/app/config/」にコピーする。
2.「session.php」のdriverの設定をdbに変更する 3.oilコマンドでセッション保存用テーブルを作成する。
$cd fuelPHPのルートフォルダ
$oil r session:create

このエントリーをはてなブックマークに追加