2009-01-01から1年間の記事一覧

DoctrineのSQL文を確認

Doctrine_Query::create()でexecute()などをする前の値で確認できます。 $query = Doctrine_Query::create() ->select('item_id') ->from('UserItem') ->where('user_id = ?', $userId); $items = $query->execute(); ←コチラだとobj化している sfContext::g…

submitで押されたボタンの判定

valueで判定すると条件がテキスト一致となって微妙なので、 // templateファイル <input type="submit" name="confirm" value="はい"> <input type="submit" name="confirm" value="いいえ"> // actionファイル if ($request->getPostParameter('confirm') == 'はい') { nameで判定 <input type="submit" name="yes" value="はい">

validateのymlにて入力エラー時の遷移

[validate]フォルダのhoge.ymlでチェックに引っかかった場合、 デフォルトでは以下の経路になります。 1. handleError()へ遷移 2. hogeError.phpを表示hogeError.phpがなければ、当然そこでもエラーになります。 hogeError.phpを書くか、handleErrorHoge()を…

idが一番大きいレコードを取得/削除

SQL

select * from hoge where id = (select max(id) from hoge);delete from hoge where id = (select max(id) from hoge);

セッションの有効時間

php.iniにて確認。デフォルト値は以下 session.cookie_lifetime = 0値が0の場合はブラウザを閉じるまでだが、その際、以下の確率でガーベジコレクトが起動し、有効時間を過ぎたセッションファイルを削除します session.gc_probability = 1 …分子 session.gc_…

viで文字列置換

vim

%sでファイル全体を対象に /gで行内の全てを一括置換(確認なし) /gcとすると逐次確認を行います :%s/置換前文字列/置換後文字列/gcもしくは、 :%s;置換前文字列;置換後文字列;gc※「:%s;/var/home;home;gc」などパス名変更時にまた、複数の文字列を指定する…

cpを使った様々なコピー

cp file1 file2 file1をfile2にコピー cp file1 mydir mydirに同名でコピー cp file1 mydir/file2 mydirにfile2としてコピー cp file* mydir fileではじまる全ファイルをmydirにコピー cp * mydir/ 全ファイル(.ファイルは除く)をmydirにコピー cp mydir/* .…

UNIX(Linux)でのCtrl + D

入力ストリームの終了を意味し、使用箇所によって下記のような結果になる。1.シェルを終了(exit,logoutと同様) [hoge@hoge-dev ~]$↓ Ctrl + Dシェル終了2.テキスト入力を終了(EOFの機能) [hoge@hoge-dev ~]$ php

PostgresのDBをコピー&削除

例)hogeをコピーしてhoge_copyを作成 ※データの中身もコピーされます createdb -T hoge hoge_copy要らなくなったら削除 dropdb hoge_copy

postgresのバージョンを調べる

ターミナルからならば、接続した際にすぐわかります [hoge@hoge-dev]$ psql DB Welcome to psql 8.3.8, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g o…

テーブルのカラムにコメントをつける

COMMENT ON COLUMN テーブル.カラム IS 'コメント';

confに書いたディレクトリが無くてapacheが停止

ブラウザ確認できなくなったので以下対応文法エラーは無し [root@hoge-dev ~]# httpd -t Syntax OK再起動しようとしたらapacheがそもそも動いていない [root@hoge-dev ~]# service httpd graceful httpd not running, trying to startstartしようとしたら失…

DB一覧、構成の確認

DB一覧 [root@hoge-dev ~]# mysqlshow +--------------------+ | Databases | +--------------------+ | information_schema | | mysql | | test | +--------------------+DB構成 [root@hoge-dev ~]# mysqlshow mysql Database: mysql +--------------------…

複数ファイルを一斉に文字列置換

例).htmlファイルに対して一斉に置換する場合 find . -name "*.html" -exec sed -i 's/対象文字列/置換文字列/g' {} \;注意事項: ・「/」をエスケープするには「\/」とする ・「'」をエスケープするには「'\''」とする ・「.」ファイルも対象になる。subve…

.svnファイルおよびディレクトリの削除

例)現在のディレクトリ以下を対象に削除 find . -name .svn | xargs rm -r// find . -name .svn の結果を rm -r の引数に渡す

郵便番号から住所を自動入力

templateに以下を付けるかymlに記述 <script src="http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.js" charset="UTF-8"></script>symfonyならば、view.ymlでも可 InputSuccess: stylesheets: [mypage/import: {media: print,screen}] javascripts: ["http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.js"]以下のようなフォー…

CSSハック(IE6,7用)

どうしてもブラウザごとにレイアウトが崩れてしまうときの対処 →プロパティの前に「/」をつける #banner { padding-left: 434px; /padding-left: 420px; /* IE6,7用ハック */ }上記の場合、 FireFox → 434px IE6,7 → 420px となる

リポジトリの向き先を確認

svn infoの「URL」にて確認できます。 [hoge@system trunk]$ svn info パス: . URL: http://svn.hoge.dev/repos/project/trunk ←ココ リポジトリのルート: http://svn.hoge.dev/repos/ リポジトリ UUID: 71254816-2c78-44ae-9540-337b78d51e39 リビジョン: 7…

別のユーザでsvn up

別ユーザの環境に対してsvn upできるかどうか試してみました ⇒developer同士では出来ることを確認ただし、developerでadminに対しては不可でした。↓↓↓ svn: ファイル '.svn/lock' を開けません: 許可がありません

外部キーの確認

コンソールにて、以下の流れで確認できます。 psql DB名 DB名-> \d テーブルDB名-> \d テーブル Table "public.テーブル" Column | Type | Modifiers ------------------------+-----------------------------+----------- id | integer | not null xxx_id |…

前のリビジョンに戻す

svn merge -r 現在のリビジョン:戻したいリビジョン .例) svn merge -r 7531:7140 . ←最後のドットを忘れないようにさらに「svn st」で変更ファイルを確認して「svn ci」すれば、trunkも元通り。取り出すだけなら svn up -r 7140

矩形選択、コピー&ペースト

vim

[Ctrl]+[v]で矩形ビジュアルモード [y]でコピー(ヤンク) [p]で貼付け

validateのfillinでXMLパースエラー

view.ymlにて、content-typeを以下のようにしている場合、バリデートでfillinを利用するとxmlパースエラーが発生します。 XML パースエラー: 実体の初めに XML またはテキスト宣言がありません。 view.yml http_metas: content-type: application/xhtml+xml…

Postgresコマンド

psql -l データベース一覧 ※接続前の確認 psql db名 データベース接続 db名 => \d テーブル、インデックス、シーケンス、ビュー一覧 db名 => \d テーブル名 テーブル構成表示 db名 => \du ユーザ一覧 db名 => \l データベース一覧 ※接続後の確認 db名 => \q …

全てのRequestパラメータを配列で取得

actionにて $this->getRequest()->getParameterHolder()->getAll(); ちなみに、以下のget,post別の一括取得は無理でした。 $this->getRequest()->getGetParameters(); $this->getRequest()->getPostParameters(); ※symfony 1.1以降なら使えるらしい[symfony …

mb_convert_kanaの罠

PHP

mb_convert_kana(文字列, "k") としたら、ブラウザ更新するたびに半角になったり全角といった 現象が発生第3引数にエンコードを入れてやったら解決しました。 mb_convert_kana(文字列, "k", "UTF-8")※ k : 全角カナを半角カナに変換

CASE文

例)idが100以上と100未満の会員を性別ごとに集計 SELECT CASE WHEN sex_code = 1 THEN '男' WHEN sex_code = 2 THEN '女' ELSE '不明' END, SUM ( CASE WHEN id >= 100 THEN 1 ELSE 0 END ) as "100以上", SUM ( CASE WHEN id END ) as "100未満" FROM mst_…

誤ってtrunkを消してしまった時の対処

以下でリカバリできました。 svn cp 最新タグのパス trunkへのパス svn cp http://svn.xxx/tags/release1.00 http://svn.xxx/trunk -m '' ※trunkフォルダは無くても生成されますその後は通常通り、trunkへのコミットも可能です。 [追記] svn co -r リカバリ…

間違えてsvn cpしたフォルダを削除

例)release1.11とするところを、releaase1.11としてしまった時など svn rm パス -m 'コメント'

preExecute()の変数を受継ぐ

$this付きの変数を宣言すれば、他のexecute()で受け継げるactions.class.php public function preExecute() { $this->aaa = 'aaa'; } public function executeIndex() { $this->bbb = $this->aaa; }indexSuccess.php <br /> 出力 aaa aaa[symfony 1.0.9]