サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
qiita.com/kazu56
--現在時刻から60秒前以降の値のものを抽出 select * from foo where modified < now() - interval 60 second; --7日後を表示 select now() + interval 7 day;
select count(status = 0 or null), --statusが0の件数 count(status in(1,2) or null) --statusが1か2の件数 from hoge これでできてしまう。すごい! 解説 count()は全件、count(以外)はnull以外をcountする。 ゆえに条件に合致するものをtrue,合致しないものをnullで返す。 true or null ->true -> countされる。 false or null ->null -> countされない。 ゆえに、count(条件 or null)で条件でcountできる。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can ef
自分用のメモ。 行ごとに処理する方法。while readとfor inの二通りの方法がある。 while read
bashでよく見るファイルの先頭の#!から始まるもの。シバンまたはシェバンと呼ぶらしい。プログラムを実行するインタプリンタを指定する。 PHPのシバンを書けば、phpファイルを実行するときphpコマンドから書かなくても実行できる。
Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
DataSourceを使う方法 リダイレクトで遷移してしまう場合や、エレメントのsql_dumpを削除してしまっている場合はこちらを使う。 モデルからDataSourceを取得して、getLog()とすると実行されたSQLやそれに付随する情報が取得できる。
yum list mysql* 読み込んだプラグイン: インストール済みパッケージ ※ここにインストール済みのパッケージが表示される。 利用可能なパッケージ ※ここに利用可能なパッケージが表示される。
やりたいこと(想定シーン) 修正してaddしたり、または未addだったりの状態で、やっぱり修正必要なかったなぁって場合に前のcommit状態に戻したい。 まとめて戻す方法 未add(ワーキングツリーのみ存在)、add済み(ワーキングツリー&インデックス存在)に関わらずこれですべて戻すことができる。 解説 --hardオプションでインデックス、ワーキングツリー全てを戻す。 HEADは最新のcommit idのエイリアス。前回のcommitまで戻したいのだから、HEADを指定する。 ※もちろんUntrackedは対象外。Untrackedを消したい場合は、コメントで教えてもらった「git clean -f」を使う。もしくは、「git add .」して一旦管理下に入れて上記を行う。 ファイル単位で戻す方法 --hardオプションはファイルを指定できないため。 対象がadd済みファイル(インデック
ary = ['Spring','Summer','Fall','Winter']; str = ary.join(','); console.log(str); //=>Spring,Summer,Fall,Winter str = 'Spring,Summer,Fall,Winter'; ary = str.split(','); console.log(ary); //=>["Spring", "Summer", "Fall", "Winter"]
名前をスペースで姓と名に分割する処理。 手入力された値なので、姓と名の間のスペースが全角だったり半角だったり、スペース複数だったり。また、名前の前後にスペースが入っているなど。姓名がスペースで分かれてないものは姓の方に入れる。 list($last_name,$first_name) = split_name('鈴木 太郎 '); var_dump($last_name); var_dump($first_name); function split_name($name){ //1.全角スペースを半角スペースに変換 $name = str_replace(' ', ' ', $name); //2.前後のスペース削除(trimの対象半角スペースのみなので半角スペースに変換後行う) $name = trim($name); //3.連続する半角スペースを半角スペースひとつに変換 $name
Dateクラスの関数またはコンストラクタ呼出し 下記以外にも形式あるらしいが割愛。 new Date() 現在時刻のDateインスタンス new Date(year,month,date,hours,minutes,secounds) 引数の指定時刻のDateインスタンス monthの指定は0始まりなことに注意! new Date(value) 引数をエポックミリ秒に解釈したDateインスタンス Date() 現在時刻の文字列 インスタンスから各種値の取得 インスタンスはエポックタイムで時刻を保持していて、文字列や数値として取り出すときにロケールやタイムゾーンに合わせて変換される。 以下は全て全てローカル時刻。UTCも表示できるが割愛。 var dt = new Date(); //年 var year = dt.getFullYear(); //月 //1月が0、12月が11。そのため+
ファイルを作成してダウンロードする方法と、ファイルを作成せずにダウンロードする方法がある。 「ファイル作成してダウンロード」は、既に用意されているファイルをダウンロードする場合や、PDFやエクセルなどを一旦編集してダウンロードする場合に適していると思う。 「ファイルを作成せずにダウンロード」は、CSVなどテキスト系のファイルのダウンロードに適していると思う。 ※CakePHPのバージョン2.3以降 ファイルを作成してダウンロード $this->autoRender = false; $this->response->file( //ファイルパス APP.'webroot/files/foo.csv', [ //ダウンロードしたときのファイル名。省略すれば元のファイル名。 'name'=>'bar.csv', //これは必須 'download'=>true, ] ); //レイアウトを使用
単なるボタンとして使う場合は、type="button"を指定する。 省略すると、type="submit"で解釈されsubmitされる。 <form> <!-- ただのボタンのため、submitされない。 --> <button type="button">ボタン</button> <!-- type="submit"と解釈されsubmitされる。--> <button>ボタン</button> </form>
ローカルでrevertを使って取り消して、それをリモートへ反映する。 revertは相殺で取り消すのでログからは消えない。(正確には取り消しではなくて打消し) resetだとログから完全に消えていまい危険なのでrevert推奨らしい。 1.取り消したいコミットのコミットIDを取得する。 $git log commit XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Author: Foo Bar <XXX@XXXX> Date: Tue Mar 15 10:26:14 2016 +0900 XXXを修正
CakePHPでは、CakeEmailというメール送信クラスが用意されている。 送信のための設定を行う app/Config/email.php 送信時に設定することもできるが、SMTPサーバなど動的に設定する必要がないものはここへまとめる。 class EmailConfig{ public $default = array( /* * Smtp:SMTPサーバを使う場合 * Mail:PHPのmail関数を使う場合 */ 'transport' => 'Smtp', 'host' => 'localhost', 'port' => 25, ); }
$('form').submit(function(){ $.ajax({ url: $(this).attr('action'), type: 'get', data: $(this).serialize(), dataType: 'html' }) //POSTが完了後に処理を行う。 .always(function(){ //親ウインドウの関数(func_update)を使い、親ウインドウを更新 window.opener.func_update; //サブウインドウを閉じる window.close(); }) return false; }) window.openerで親ウインドウのwindowオブジェクトにアクセスできる。 今回は親ウインドウを単に更新するわけでないので関数を呼び出しているが、単に更新ならばwindow.opener.location.reload()でも良い
SQLSTATE[HY000]: General error: 1364 Field 'hogehoge' doesn't have a default value ググると、このエラーはデフォルト値がないカラムに、値なしでinsertしていることを怒っているらしく、mysql5.6からsql_modeのデフォルト値がSTRICT_TRANS_TABLESになったことが原因らしい。 STRICT_TRANS_TABLESを外す方法 sqlを直すのは手間なので、設定を変更することに。 /etc/my.cnfを変更してmysql再起動しても反映されず、いろいろ調べたら/usr/my.cnfの設定が使われていた。 複数設定ファイルがある場合は後勝ちになるらしい。ちなみに、環境はCentOS7。 参考:my.cnfのパラメータ優先順位 /usr/my.cnfを以下のように修正して再起動したら反映さ
$('button').click(function(){ alert('hello'); })
class User extends AppModel{ $virtualFields = ['name' => 'concat(User.first_name, " ", User.last_name)'];
コントローラーで$this->requestで扱うことができるCakeRequestを通してリクエスト情報にアクセスすることができる。CakeRequestのメソッドをまとめる。 data() POSTデータを取得する。
qiita.com
find('all',array( 'fields' => array('Model.field1','Model.field2'), //取得するカラム。配列指定。 'conditions' => array('Model.field' => $thisValue), //検索条件。カラムと値を連想配列で指定。 'order' => array('Model.created', 'Model.field3 DESC'), //並び順。文字列または配列で指定。 'group' => array('Model.field'), //group byするカラム。 'limit' => 2, //limit句。数値で渡す。 'recursive'=>-1// )) recursiveについて -1 : JOINしない。自分だけとってくる。 0 : 自分と自分がbelongsToしているモデルだけ
CSVファイルの読み込み方法はいくつかあるが、PHP5.1以上を使っているならSplFileObject::READ_CSVの一択。fopen+fgetcsvよりスピードが早い。 ※SplFileObject::fgetcsvは遅いので注意。 参考:【PHP】その CSV 変換、本当に「fgetcsv」でいいの? SplFileObject::READ_CSV $file = new SplFileObject($filepath); $file->setFlags(SplFileObject::READ_CSV); foreach ($file as $line) { //終端の空行を除く処理 空行の場合に取れる値は後述 if(is_null($line[0]){ $records[] = $line; } } var_dump($records); /* Array ( [0]=>Ar
使い方 Byのあとをカラム名と見なして検索する。 以下は「where User.id=123」と同じ。
正規表現を使わない場合 strpos,strstr,preg_matchではstrposが最も早いのでstrposを使う。 PHPマニュアルにもそのように書いてある。 strstr もし特定の haystack に needle があるかどうかを調べるだけの場合、 より高速でメモリ消費も少ない strpos() を代わりに使用してください。 strposは、該当する文字列が見つからなかった場合は、falseを返す。 該当する文字列が見つかった位置を数値で返すので(※1)、型までチェックする必要がある。そのため、===falseもしくは!==falseを使うこと。 ※1例えば、strpos('abcd','ab')は0を返す。 if(strpos($subject,'bc') !== false){ //'abcd'のなかに'bc'が含まれている場合 } if(strpos($subject
カレンダーを表示するプラグイン。 テキストをクリックするとカレンダーが表示されてそこで日付を選択する。 jQueryUIやbootstrapに似た名前のがあるけど、xdsoftというところが出している。 使い方 githubからプラグイン本体とCSSをダウンロードして読み込み。 <link rel="stylesheet" type="text/css" href="jquery.datetimepicker.css"/ > <script src="jquery.js"></script> <script src="jquery.datetimepicker.js"></script>
TreeTaggerとは? 英語用の形態素解析ツール。(フランス語、ドイツ語も対応しているらしい。) 日本語の形態素解析はmecabが有名。 インストール 自分はCentOSにインストールした。 1.TreeTaggerのサイトから、4ファイルをダウンロードして適当なディレクトリに置く。展開はしなくて良い。 Download the tagger package for your system ※自分の環境にあったパッケージファイル。 linuxなので、tree-tagger-linux-3.2.tar.gz。 Download the tagging scripts into the same directory. tagger-scripts.tar.gz Download the installation script install-tagger.sh ※インストールのためのシェル
セレクトボックスに装飾を加えるプラグイン。フィルタ付きセレクトボックスや、タグ付きセレクトボックスや、画像付きセレクトボックスなどが作れる。 サイト https://select2.github.io/ CDN <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0-rc.2/css/select2.min.css" rel="stylesheet" /> <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0-rc.2/js/select2.min.js"></script>
次のページ
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く