2019-12-01から1ヶ月間の記事一覧

PHPUnit: 最初にエラーが発生した時点で実行を停止

$ vendor/bin/phpunit --stop-on-error #最初にエラーが発生した時点で実行を停止 こっちのが便利かも $ vendor/bin/phpunit --stop-on-failure #最初にエラーあるいは失敗が発生した時点で実行を停止 ドキュメント コマンドラインのテストランナー

CakePHP3: 同じSQLを複数実行しないように

ドキュメント Cake\ORM\Table::get($id, $options = []) メモ 下記の場合、同じクエリが2回実行されている $category_id = $this->Articles->get(1)->categoriy_id; $author_id = $this->Articles->get(1)->user_id; 下記のようにすれば、クエリ1回の実行で…

FriendsOfCake/crud: findMethod() の引数

メモ: FriendsOfCake/crud: findMethod() の引数 public function index() { $this->Crud->action()->findMethod([ // カスタム Finder メソッド を指定 // See: Crud - findMethod 'myCustomFinder' => [ // Cake\ORM\Table::find($type, $options = []) の…

CakePHP3: マイグレーションでカラムの型を string から uuid に変更

試行錯誤したのでメモ。もっとシンプルな方法があると思う。。 ドキュメント カラムの属性を変更 作業ログ public function change() { $this->table('hoges') ->changeColumn( 'foo_column', 'uuid', [ 'null' => false, ] ) ->save(); } ↑ ではうまく行か…

CakePHP3: クエリビルダーで SUM(CASE WHEN)

こんな感じの SELECT 文を作りたい場合は、 SELECT user_id AS "user_id", (SUM( CASE WHEN hoge < 3 THEN count END )) AS "A", (SUM( CASE WHEN hoge >= 10 THEN count END )) AS "B" FROM articles GROUP BY user_id こんな感じ $query = $articles->find…