zz log

zaininnari Blog

CakePHP 1.3.9 の変更点メモ


1.3系におけるバグフィックス及びメンテナンスリリースだそうです。

変更点

[controller]

<?php
// 確認期限が過ぎているものを削除したい
$conditions = array(
    'Confirm.created <' => $time // MySQL time format
);
$cascade = true;
$this->User->Confirm->deleteAll($conditions, $cascade);
// CakePHP 1.3.8 以前
// `Confirm` のレコードだけ削除したいのに、`User` を JOIN している。
// LEFT JOIN の SQL を構築するオーバーヘッドがあるし、
// SQL が読み取りにくくなる
DELETE `Confirm` FROM `confirms` AS `Confirm` LEFT JOIN `users` AS `User` ON (`Confirm`.`user_id` = `User`.`id`) WHERE `Confirm`.`id` IN (13, 15)

// CakePHP 1.3.9 以降
// LEFT JOIN が無くなり、シンプルに。
DELETE `Confirm` FROM `confirms` AS `Confirm` WHERE `Confirm`.`id` IN (13, 15)