この記事は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ってメソッドあったんですね・・・
いままで気づかなかったです。。ということでコード若干修正しました。