月別アーカイブ: 2014年4月

MySQL 外部キー 制約削除

いきおい余って作ってしまった外部キーが都合が悪いので削除する。

まず、外部キーIDを確認
SHOW CREATE TABLE [テーブル名];

すると、結果の最後の方に下記の記述があるので、そこから外部キーIDを取得


CONSTRAINT `[外部キーID]` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`),

削除
ALTER TABLE [テーブル名] DROP FOREIGN KEY [外部キーID];

参考ありがとう:http://d.hatena.ne.jp/Climber/20060407/1144401983

CakePHP 多言語対応 locale

viewファイルに文言書くとき

 

のように、
翻訳する部分は全て __(‘ ‘)で囲んでおく。アンダーバー2個!
この中身が日本語でもいいみたいだけど、やっぱり普通は英語なのかな。

i18nを使用して翻訳用のファイルを作成する。

コンソールにて
cd cakephpのappのパス/Console
./cake i18n -app cakephpのappのパス

こんな感じに出てくる
Welcome to CakePHP v2.4.6 Console
—————————————————————
App : Console
Path: /cakephpのappのパス
—————————————————————
I18n Shell
—————————————————————
[E]xtract POT file from sources
[I]nitialize i18n database table
[H]elp
[Q]uit
What would you like to do? (E/I/H/Q)
>

potファイルを作成するので、E エンター

あとは聞かれるがままに、、
そのままエンターし続けてもファイルはできる

app/Locale/default.pot

app/Locale/配下にjpn/LC_MESSAGESのフォルダを作成し、
先ほどできたpotファイルを
default.po という名前でコピー

後は、中身に日本語を入れればOK。

特に表示の設定をしなければ、日本の環境なら日本語が表示される

参考ありがとう:

CakePHP DebutKit 導入

CakePHPの設定がひととおり終わった状態から。

今回は、コマンドでやってみる。

$ cd app/Plugin
$ git clone https://github.com/cakephp/debug_kit

プラグインのフォルダ名を変更しておく。
$ mv debug_kit DebugKit

●プラグインのロード記述
/app/Config/bootstrap.phpに以下を追加
CakePlugin::load(‘DebugKit’);

(複数のプラグインを導入する場合は、ひとつひとつ書かずに CakePlugin::loadAll(); でもOK)

●コンポーネントの飲み込み
/app/Controller/AppController.phpのクラスの中に以下を追加
public $components = array(‘DebugKit.Toolbar’);

これで、画面の右上に、アイコンが固定表示される。
クリックすると、いろいろ情報が見れる

さらに、実行SQLを表示する場合、
/app/View/Layouts/default.php に記述追加
element(‘sql_dump’); ?>

参考ありがとう:http://qiita.com/BUN/items/403cccad9eaa831e6fd8

CakePHP2 BoostCake導入

CakePHPの設定がひととおり終わった状態から。

今回は、コマンドでやってみる。

$ cd app/Plugin
$ git clone git://github.com/slywalker/cakephp-plugin-boost_cake

プラグインのフォルダ名を変更しておく。
$ mv cakephp-plugin-boost_cake BoostCake

●プラグインのロード記述
/app/Config/bootstrap.phpに以下を追加
CakePlugin::load(‘BoostCake’);

(複数のプラグインを導入する場合は、ひとつひとつ書かずに CakePlugin::loadAll(); でもOK)

●ヘルパー追加
/app/Controller/AppController.php に追加
public $helpers = array(
‘Session’,
‘Html’ => array(‘className’ => ‘BoostCake.BoostCakeHtml’),
‘Form’ => array(‘className’ => ‘BoostCake.BoostCakeForm’),
‘Paginator’ => array(‘className’ => ‘BoostCake.BoostCakePaginator’),
);

参考ありがとう:
http://blog.livedoor.jp/spyder_5615/archives/36127430.html
http://qiita.com/BUN/items/d1e48d07d34de475bc77