cakePHPのモデルにバルスを実装してみよう

Twitter ツイート Hatena Bookmark ブックマーク

この記事はcakephp1.3向けに書かれています。

cakePHPつかっているとちょいちょいTRUNCATE TABLEを実行したくなることがあります。
でもメソッドとしては実装していないのでAppModelに書いてみました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php
class AppModel extends Model {

	/**
	 * truncate
	 */
	function truncate($tableName = null) {
		if ( is_null($tableName) ) $tableName = $this->table;

		if ( !$tableName || is_null($tableName) ) {
			return false;
		}
		return $this->getDataSource()->truncate($table);
	}
}

これ意外に便利ですよ〜。

ただ、友達と話してたときに「TRUNCATE TABLEってバルスちかくね?」って会話が会ったので、こんな風にしてみました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
class AppModel extends Model {

	/**
	 * truncate
	 */
	function truncate($tableName = null) {
		if ( is_null($tableName) ) $tableName = $this->table;

		if ( !$tableName || is_null($tableName) ) {
			return false;
		}
		return $this->getDataSource()->truncate($table);
	}

	function vals($tableName = null ) {
		return $this->truncate($tableName);
	}

んでもってこんな感じでつかえばいいのさ。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php
class MusukaController extends AppController {

	var $name = 'Musuka';
	var $uses = array("Sheeta","Pazu");

	function index() {
		$this->Sheeta->vals();
		$this->Pazu->vals();
	}
}
?>

てかバルスのスペルあってんのかな・・・

[追記]
なんかDboSourceクラスにtruncateってメソッドあったんですね・・・
いままで気づかなかったです。。ということでコード若干修正しました。

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。