Cakephp2:Error: Database connection "Mysql" is missing, or could not be created.
MAMP上で作業していて、Cakeフォルダ/app/Console/Command/EverydayShell.phpを
app/everyday.shでたたくと、以下のようなエラーが出た。
Error: Database connection "Mysql" is missing, or could not be created.
Mysqlにつながっていません!(要約)
ということらしいけど、EverydayShell.php以外の、例えば普通のControllerからDBに接続は普通にできる。
で何かと思ったら原因はMAMPにあったらしく、
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
をdatabase.phpのpublic $defaultの1番下に書くと解決した。
めでたしめでたし
bootstrap3のドロップダウンメニューをクリックではなくマウスオーバーで使う方法
環境:bootstrap3.0.3
bootstrap.cssの一番下に以下のように書き込む
ul.nav li.dropdown:hover > ul.dropdown-menu { display: block; }
これだけでオーケー。
以下参考サイト
http://designup.jp/bootstrap3-0-dropdown-hover-76/
CakePHP:セッション切れる時間を調整
CakePHP2:モデルからも、コントローラーからも、ビューからも呼べる
いい記事見つけた
http://chipomote.hatenablog.com/entry/2014/02/11/155648
モデルでも
コントローラーでも
ビューでも
Configure::read('◯◯◯');
すれば呼び出せる
時間に関するPHPメソッド
●Datetime
日付と時刻を扱うクラス
例:
$dt = new Datetime(); 現在の時刻
$dt = new Datetime(‘2014-01-15 10:00:00’);
・format()メソッド -> 表示をする
年 |
月 |
日 |
時 |
分 |
秒 |
|
0つく |
Y |
m |
d |
H |
i |
s |
0つかない |
-- |
n |
j |
G |
-- |
-- |
・diff()メソッド -> Datetimeオブジェクトの差を求める。DateIntervalオブジェクトを生成する
・add()メソット -> DateIntervalオブジェクトを足す
・sub()メソッド -> DateIntervalオブジェクトを引く
●DateInterval
時間(日付の間隔)を表すクラス
・format()メソッド-> 表示をする
年 |
月 |
日 |
時 |
分 |
秒 |
|
0つく |
%Y |
%M |
%D |
%H |
%I |
%S |
0つかない |
-- |
%m |
%d |
%h |
%i |
%s |
●時間に関するメソッド
・date() -> Datetime::format()メソッドと同じフォーマットで日付のフォーマットができる関数
第2引数にUNIXタイムスタンプを渡すことができる
例:
date(‘Y-m-d’, time()) -> 2014-01-15
・time() -> 現在のUNIXタイムスタンプを返す
・mktime() -> ’10, 0, 0, 1, 15, 2014’などを引数にとって、UNIXタイムスタンプを返す
・strtotime() -> ‘now’ や ’+1day’ や ’+1week’などを引数にとって、UNIXタイムスタンプを返す
●「○○時間後の日時」を表示
$dt = Datetimeオブジェクト->add(DateInterval::createFromDateString('○year ○month ○day ○hour ○min ○sec'));
cf. Datetimeオブジェクト->sub
Cakephp2 エスケープ処理
AppControllerのbeforeFilterの中に以
if (!empty($this->data)) {
$this->data = h($this->data);
}