スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[cakephp]saveしてuploadする

トランザクションを利用して、セーブ後の処理を同期させています。
//セーブ後アップロードします。
//セーブに失敗、アップロードに失敗した場合はロールバックします。
function SaveAndUploadFile($data,$dir,&$error=null) {
$dbo = $this->Model->getDataSource();
$dbo->begin($this->Model);
//データを保存
if (!$this->Model->save($data)) {
if(strstr($this->Model->getDbo()->error,'1062:')){
if(isset($error))$error="同一のファイルが存在します。";
}
}else{
if (!move_uploaded_file($data['field_name']['tmp_name'], $dir)){
if(isset($error))$error="ファイルの移動に失敗しました。";
}else{
//成功したら、セーブしたデータをコミット
$dbo->commit($this->Model);
return true;
}
}
//失敗したら、セーブしたデータをロールバック
$dbo->rollback($this->Model);
return false;
}



参考URL1:cakePHP - conditional save, can it be done?
参考URL2:cakephp 2.x トランザクション
このエントリーをはてなブックマークに追加

tag : cakephp 2.x save upload ファイル アップロード トランザクション commit rollback 戻す

[cakephp]どこからでも呼べるユーザ定義ファイルを作る2

以前の「[cakephp]どこからでも呼べるユーザ定義ファイルを作る」では、
Configure::load関数を利用したのですが、defineだけでは$config変数が見つからないと怒られてしまいます。
なので、defineだけ別方法をとりました。

・config/define.php
<?php
define("TEST","テスト");
?>

・config/bootstrap.php
<?php
... any code ...

//ユーザ定義ファイルの読み込み
config("define");
?>


試したバージョンはcakephp1.3になります。
このエントリーをはてなブックマークに追加

tag : cakephp 1.3 define ユーザ定義 Config bootstrap config()

[cakePHP]空白ページの表示

条件分岐を行い、条件外の場合にページを表示しないという処理を行います。
//controllerのeditページの処理で行った例
public function edit($id = null) {
//$idがセットされなかった場合は空白ページを表示する
if(empty($id)) {
$this->autoRender = false;
return;
}
}
このエントリーをはてなブックマークに追加

tag : cakephp 2.x 空白 ページ 表示 描画 しない 非表示 autoRender

[cakePHP]カラムの存在を確認する

//クエリを直で流します。
//Model:モデル名
//table_name:テーブル名 $colum_name:カラム名
$this->Model->query('DESCRIBE '.$table_name.' '.$colum_name);


次の様に利用します。
//AAAテーブルにaaaカラムが存在するかを確認します
$colum_name = 'AAA'
$colum_name = 'aaa';
$is_colum = $this->Model->query('DESCRIBE '.$this->data[$this->name]['page_name'].' '.$colum_name);
//存在すればデータが返り、無ければ空で返る
if(!empty($is_colum)){
print('存在する');
}else{
print('存在しない');
}



関連記事:[mysql]カラムが存在するかを確認する
このエントリーをはてなブックマークに追加

tag : cakephp 2.x sql DESCRIBE テーブル カラム 名前 存在 確認

[cakePHP]$this->Auth->userScopeからの変更

//以前の書き方
$this->Auth->userScope = array('User.status' => array(0));


このような書き方は 2.x系からは通用しません。
次からはこのようになります。
//2.x 以降
$components = array(
'Auth' => array(
'authenticate' => array(
'Form' => array('scope' => array('User.status' => array(0)))
)
)
);



参考URL1:cakephp2.x 認証
参考URL2:CakePHP 2.x Auth Condition
このエントリーをはてなブックマークに追加

tag : cakephp 2.x Auth userScope component scope ログイン 認証

Translation


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
プロフィール

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。