タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

mysqlとdevelopmentとCakePHPに関するkathewのブックマーク (6)

  • MySQL、CakePHP 2.3で「tinyint(1)」の Boolean型の動作を再確認

    MySQL、CakePHPで「tinyint(1)」のフィールドは Boolean型として認識 MySQLでの「tinyint(1)」のフィールドは Boolean型と認識するが... MySQLの「tinyint(1)」の悲劇 Boolean型になるとは... この記事に「結論が間違っています」コメントをいただきました。 そのために検証を行った結果、「tinyint(1)」のフィールドが「Boolean型」として処理されるのは MySQLの機能ではなく、CakePHPの機能によって起こっていることを確認しました。 ※厳密な表現では、MySQLでは「tinyint(1)」で設定されたフィールドは Boolean型として処理する仕様となっているため、その定義に従って、CakePHPでは「0」「1」しか持てないように処理している、ということになるでしょう。 MySQLの定義については以下参照

    MySQL、CakePHP 2.3で「tinyint(1)」の Boolean型の動作を再確認
    kathew
    kathew 2016/12/15
    CakePHPでチェックボックスを自動生成≒値を真偽値にするならば、TINYINT(1)で定義すれば良い。覚えた
  • [CakePHP2.x]Mysqlのviewtableをschemaで作ると・・・

    テーブルをgroup by でカウントしたいのだが、cakeの機能だけではあまりスマートにできない。 なので、mysqlのview tableを使うことにしました。 view tableはsql文の結果をあたかも普通のテーブルのように定義してくれる便利な機能。Cakeからはただの普通のテーブルと同じように扱えるので、モデルを作ればそのままアクセスできます。(当然ながら保存はできませんが) で、DBはschema機能で作っているので、 cake schema generate でschema.phpを作ってそれをテスト環境でcake schema create してみたところ・・・。 ああああ!view tableじゃなく普通のテーブルになってる orz いろいろ調べてみたのですが、どうも対応していないっぽいです。 まぁ、ほかのDBエンジンでは実装されていないものもあるかと思いますので、仕方

    [CakePHP2.x]Mysqlのviewtableをschemaで作ると・・・
    kathew
    kathew 2016/07/21
    「なお、一度作ってしまえばcake schema updateでは影響はないようです。(view tableのカラムに変更がなければですが) 」良かった良かった
  • CakePHPでやたら遅いSELECTクエリの改善 - うっかりエンジニアのメモ

    プライベートで作ったWebアプリで、一画面だけブラウザに表示されるまで3秒かかる激重画面があります。 この画面ではCakePHPが自動的にいろんなテーブルをjoinしたSQLを生成しているので、その辺りが原因だろうとは感づきました。 それにしても、たかだか20行程度のselectなので、なんか変だ。。。 ちょっとだけ分析と改善をしました。(はじめてのパフォーマンスチューニング…ドキドキ) 結論としては、1000倍早くなりました。 CakePHPのクエリ自動生成は楽ですが、パフォーマンス上の問題が発生した時にはやはりSQLを知らないとダメだなぁ… 環境 VirtualBoxのVM(メモリ613MB)上に下記の環境があります。 CentOS 6.5 x64 nginx 1.0.15 PHP 5.5.13 MySQL 5.5.37 CakePHP 2.4.0 テーブル構造 テーブル 内容 外

    CakePHPでやたら遅いSELECTクエリの改善 - うっかりエンジニアのメモ
  • CakePHPでMySQLのBETWEENを使う | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    CakePHPDBからレコードを取得したり逆に入力したりする際にはfindやsaveというお手軽なメソッドがあるのでとても便利。 だけど、結構複雑なクエリーを投げなきゃいけないとなると、どう書けば良いのか分からなくなる場合も意外とあったりする。findの条件指定のときとか。BETWEENとかLIKEなんかも、一度知ってしまえばたいしたことはないのだけど、知らないとわりと悩む。少なくとも自分は悩みました。 どうしても困ったら$this->query()で直接SQL文を書いちゃえば良いのだろうけど、WHERE句でBETWEENを使う場合の記述でちょっと面白い書き方を発見したので、ここではそれで頑張ってみる。 じゃあたとえば、idが10から20の間のレコードを取得するとしましょう。 $params = array('conditions' => array('id BETWEEN ? AND

    CakePHPでMySQLのBETWEENを使う | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • 『cakePHP+MySQLでトランザクション』

    cakePHPMySQLと相性がいいが、トランザクションにちょっと癖がある。 通常、 $this->Model->begin(); でトランザクションが開始されるのだが、cakePHPでは単純に BEGIN というSQLを流しやがる。PostgreSQLならいいが、MySQLじゃだめじゃん…。 というわけで以下のソースをAppModelに追加すると正常にトランザクションができる。 function begin() { $db =& ConnectionManager::getDataSource($this->useDbConfig); $db->begin($this); } function commit() { $db =& ConnectionManager::getDataSource($this->useDbConfig); $db->commit($this); } fun

    『cakePHP+MySQLでトランザクション』
  • ER図から,Webアプリを自動生成

    下記の流れは,一度は体験しておきたい。 ER図を書く。 → 1 から,DDL文+テーブルを自動生成。 → 2 から,テーブル定義書を自動生成。 → 2 から,Webアプリを自動生成。 コーディングなし。 例として,複数人で利用できるブックマークアプリのようなものを生成してみる。 「CakePHPが作ってくれる雛型(scaffold)はリッチだ」とよく言われるが,それを更にテーブル生成ツールと組み合わせたらどうなるか,というのが焦点。 CakePHPの入門方法もちょっと兼ねる。 事前準備(1/2):ツール ER図描画+DDL生成+テーブル定義書生成のために,A5SQLというフリーソフトを使うのでインストールしておく。 A5SQLをDL http://www.wind.sannet.ne.jp/m_matsu/... また,DB+DB管理+PHP実行のために,XAMPP+CakePHPを使う。

    ER図から,Webアプリを自動生成
  • 1