Cakephp 2.X Modelの論理削除の実装

自社のサイトを更新していたらブログを全然書いていないことに気付いたのでたまにはメモ書きしようと思います。

今回は、CakePHP2.X系で論理削除を実装する流れです。

何件かbehaviorがあるようですが今回はCakeDCという所のBehaviorを紹介します。

1、まずbehaviorをダウンロードして/Model/Behaviorディレクトリにいれます。(MITライセンス)
https://github.com/CakeDC/utils/blob/master/Model/Behavior/SoftDeleteBehavior.php

2、論理削除する対象のモデルに下記項目を追加する
[php]
`deleted` tinyint(1) NOT NULL DEFAULT 0,
`deleted_date` DATETIME DEFAULT NULL,
[/php]

3、/Model/AppModel.phpに下記関数を記述します。
[php]
public function exists($id = null) {
if ($this->Behaviors->attached(‘SoftDelete’)) {
return $this->existsAndNotDeleted($id);
} else {
return parent::exists($id);
}
}

public function delete($id = null, $cascade = true) {
$result = parent::delete($id, $cascade);
if ($result === false && $this->Behaviors->enabled(‘SoftDelete’)) {
return (bool)$this->field(‘deleted’, array(‘deleted’ => 1));
}
return $result;
}
[/php]

4、対象となるモデルでSoftDeleteBehaviorの呼び出し
[php]
class Post extends AppModel {
public $actsAs = array( ‘SoftDelete’ );
[/php]

5、後は自動で論理削除されます。

6、削除されたレコードも表示した場合はdetachします。
[php]
$this->Behaviors->detach(‘SoftDelete’);
$posts= $this->Post->find("all", $params);
[/php]

無料の奨学金返済シミュレーターを公開しました!

無料の奨学金返済シミュレーターを公開しました!

http://shogakukin.rexius.co.jp

日本学生支援機構が提供するスカラネットパーソナルの情報を利用して繰上げ返済した場合の浮いた利息の計算ができます。

弊社の代表も奨学金を利用させていただき学校を卒業する事が出来ました。
実際に社会に出て働いてみると奨学金の支払いは生活を圧迫する事もあると思います。
残金がいくらあって利息がいくらついているのしっかり計算して返せる時に返していく形をとれるのが理想だと思います。

無料で使用できますので繰上げ返済の際には是非ご利用下さい。

7周年を迎えることがきました。

2015/2/1で7周年となりました。

各方面より賜りましたご支援に対しまして改めて感謝申し上げます。

皆様のご健勝をお祈り申し上げますと共に、引き続き弊社へのご支援を賜りますよう、お願い申し上げます。

新年明けましておめでとうございます。

昨年は格別の御厚情を賜り、厚く御礼を申し上げます。
本年も皆様にご満足頂けるサービスを心がける所存でございますので、 何とぞ昨年同様のご愛顧を賜わりますよう、お願い申し上げます。
皆様のご健勝と貴社の益々のご発展を心よりお祈り致します。
本年もどうぞ宜しくお願い申し上げます。

新年は1月5日から平常営業とさせて頂きます。
平成27年 元旦 

CakePHP 古いバージョンのDeprecatedエラーの回避

.htaccessやphp.iniで設定してもphpファイルでエラーが設定されてしまっていて回避できませんでした。

cake/libs/configure.phpの133行目に下記のようにエラー処理を追加しました。

    if ($config == 'debug' || (is_array($config) && in_array('debug', $config))) {
      if ($_this->debug) {
        error_reporting(E_ALL);
          //IF文を追加する
          if (error_reporting() > 6143) {
            error_reporting(E_ALL & ~E_DEPRECATED);
          }
        if (function_exists('ini_set')) {
          ini_set('display_errors', 1);
        }
      } else {
        error_reporting(0);
      }
    }

mysql 接続数の確認

最大接続数設定

mysql> show global variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
1 row in set (0.00 sec)

起動してからの累積接続数

mysql> show global status like 'Connections';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections | 206 |
+---------------+-------+
1 row in set (0.00 sec)

起動してからこれまでの最大同時接続数

mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 4 |
+----------------------+-------+
1 row in set (0.00 sec)

レンタルサーバーでファイルシステムが使えなくなった cannot touch Read-only file system

レンタルサーバーでファイルシステムが使えなくなった

Webサーバーは起動しているのですが、FTPやMYSQLなど起動もできない。

FTPサーバーの起動などをすると以下のエラーが出て何もできませんでした。

cannot touch Read-only file system

問い合わせてみたところraidコントローラーが壊れてしまっているかHDDの故障とのこと!

新年明けましておめでとうございます。

新年明けましておめでとうございます。

昨年は、たいへんお世話になりありがとうございました。
今年も昨年同様のご厚情を賜りますようよろしくお願い申し上げます。
皆様のご健康とご多幸を心よりお祈りいたします。

本年もよろしくお願い申し上げます。