CakePHPで、新規作成時に、関連するModelを一緒に追加する

Userテーブルに新規登録する時に、Userのメタ情報などが入っているUserProfileなどのテーブルに、同時にレコードを登録する方法。

データを保存する :: モデル :: CakePHPによる開発 :: マニュアル :: 1.3コレクションからのコピペですがメモ。

function add() {
	if (!empty($this->data)) {
		// User モデルのデータを保存します。
		// このデータは $this->data['User'] にあります。

		$user = $this->User->save($this->data);

		// User が保存されたら、Profile データに User の情報を追加し
		// 保存します。
		if (!empty($user)) {
			// 新しく生成した User の ID は、
			// $this->User->id にセットされます。
			$this->data['Profile']['user_id'] = $this->User->id;

			// User は Profile と hasOne のアソシエーションで関連付いているので
			// User モデルを通して Profile モデルにアクセスできます:
			$this->User->Profile->save($this->data);
		}
	}
}

要は、親Modelのaddに同時に追加する処理を書くと言うこと…。ここら辺も、自動化されると楽だなぁと思ったり。

2011年 2月 20日 | Filed under PHP, PostgreSQL
タグ:

Vectorの初期化

Vectorを初期化しつつ、要素を一気に入れる方法

Vector の新しい初期化方法 (Flex 4 & Flash Professional CS5) – akihiro kamijo

2011年 2月 4日 | Filed under Flash / ActionScript3.0
タグ:

Time Capsule 2TB

APPLE Time Capsule 2TB MC344J/A

Time Machineのバックアップ先に、ネットワーク共有のHDDを使っていたのだが、他のファイル共有と合わせて容量不足になってきたので、他のMacのバックアップ先としての利用も考えて、純正のAPPLE Time Capsule 2TB MC344J/Aを導入へ。

ネットワーク構成は、既存のブロードバンドルータの下にぶら下がる形に。設定は、5分ぐらいだろうか。

初回のバックアップ時は転送量が多いので、LANケーブルで接続した方が良いと言うことで、直接MBPと繋げて、現在バックアップ中。

印象的だったのが、付属品が、電源ケーブル1本!潔い。

筐体のデザインは、たぶん、Mac Miniと同じなので、スタックしてもキレイなのだと思う。

2011年 1月 24日 | Filed under Mac
タグ:

ObjectとArrayの初期化

ObjectとArrayの初期化

var obj:Object = {};
var arr:Array = [];

教育的なメモ

2011年 1月 10日 | Filed under Flash / ActionScript3.0
タグ:

burrito

Flash Builderのコードネームの意味

burrito/bəríːtou/
名 詞〘メキシコ料理〙ブリート:ひき肉などのトルティーヤ(tortilla)巻き.
[スペイン語]

トルティーヤか。

2010年 12月 5日 | Filed under Flash / ActionScript3.0
タグ:

サーバの時刻設定

サーバ(CentOS5.5)での時刻設定のまとめ

$ sudo yum install ntp

参照するNTPサーバを変える必要がある場合は、/etc/ntp.confを書き換え

$ sudo /usr/sbin/ntpdate ntp.nict.jp #最初に手動で時刻更新
$ sudo /etc/rc.d/init.d/ntpd start #サービスを起動
$ sudo /sbin/chkconfig ntpd on #自動起動設定

もし、Timezoneが日本になっていなかった場合

$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
$ sudo date
2010年 11月 30日 | Filed under Linux
タグ:

CentOS5.5に最新のwebminを入れる

古いバージョンのwebminのRPMを消去
※なぜか、最新バージョンのRPMを入れようとするとconflictを起こすので

$ sudo rpm -e webmin-1.441-1.noarch

ここからrpmを入手

http://prdownloads.sourceforge.net/webadmin/webmin-1.520-1.noarch.rpm

インストール

$ sudo rpm -ivh webmin-1.520-1.noarch.rpm

Port 10000 is already in use
と言われたので、xinetdの設定を変えて、xinetdを再起動

$ sudo /etc/rc.d/init.d/xinetd restart

もう一度、RPMでインストール

2010年 11月 25日 | Filed under Linux
タグ: ,

ディレクトリのdiff

ディレクトリ内のファイルのdiffを一気に取る方法

 $ diff -r directory1 directory2

via My wonderful living » Blog Archive » ディレクトリのdiffを取る

2010年 11月 23日 | Filed under Linux, Mac
タグ:

WordPressにTweetボタン

このプラグインで簡単に、Tweetボタンを付けられる

WordPress › WP Tweet Button « WordPress Plugins

2010年 11月 22日 | Filed under WordPress
タグ:

Base64形式のJPEGファイルを表示する

Base64形式でエンコードしたJPEGファイルの文字列をas3でデコードする方法

JPEGのデコードは、AS3 JPEG Decoder – ByteArray.orgを利用

package
{
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    import flash.utils.ByteArray;

    import mx.utils.Base64Decoder;

    import org.bytearray.decoder.JPEGDecoder;

    [SWF(width="1024", height="768", frameRate="60", backgroundColor="#f5f2f0")]
    public class TestBase64 extends Sprite
    {
        private static const base64Data:String = "/9j/4AAQSkZJRgABAgEASABIAAD/4R7sRXhpZgAATU0AKgAAAAgADgEAAAMAAAABAgAAAAEBAAMAAAABAgAAAAECAAMAAAADAAAAtgEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAESAAMAAAABAAEAAAEVAAMAAAABAAMAAAEaAAUAAAABAAAAvAEbAAUAAAABAAAAxAEcAAMAAAABAAEAAAEoAAMAAAABAAIAAAExAAIAAAAeAAAAzAEyAAIAAAAUAAAA6odpAAQAAAABAAABAAAAASwACAAIAAgACvyAAAAnEAAK"; //本当はもっと長く続く

        public function TestBase64()
        {
            var decoder:Base64Decoder = new Base64Decoder();
            decoder.decode( base64Data );
            var ba:ByteArray = decoder.toByteArray();

            var myDecoder:JPEGDecoder = new JPEGDecoder();
            myDecoder.parse(ba);
            var width:uint = myDecoder.width;
            var height:uint = myDecoder.height;
            var colorComponents:uint = myDecoder.colorComponents;
            var numComponents:uint = myDecoder.numComponents;
            var pixels:Vector.<uint> = myDecoder.pixels;

            var bitmapData:BitmapData = new BitmapData ( width, height, false );
            bitmapData.setVector ( bitmapData.rect, pixels );
            var bmp:Bitmap = new Bitmap( bitmapData );
            addChild( bmp );
        }
    }
}
2010年 11月 19日 | Filed under Flash / ActionScript3.0
タグ: , ,