Doctrine

今更ながら "Index column size too large. The maximum column size is 767 bytes." に遭遇した

Symfony、というかDoctrineでmigrateしたら、うっかり以下のようなエラーに遭遇。 Index column size too large. The maximum column size is 767 bytes. utf8mb4だと、varchar(255)とかインデックス張ると767バイト超えてしまって失敗してしまうっていうや…

【Symfony】バリデーション制約 UniqueEntity の基本的な使い方とエラーメッセージについて

symfony.com UniqueEntity の fields オプションを使うと指定したフィールドにユニーク制約をつけることができる。 App\Entity\Author: constraints: - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: fields: email fields オプションは省略…

【Symfony】DoctrineのQueryBuilderでWHERE句のAND・OR組み合わせ

select('p') ->from('AppBundle:Product', 'p') ->join('p.category', 'c') ->where('c.name like :categoryName') ->andW…

【Symfony】ParamConverterのFetch Automaticallyについて

symfony.com ルーティングで指定したワイルドカードがエンティティのプロパティと一致したときに、自動的にエンティティのインスタンスを取得できる。

MySQLでカラムを結合して検索する。あとDoctrineのQueryBuilderでの書き方。

id last_name first_name 1 田中 太郎 2 山田 花子 3 鈴木 一郎 氏名を別々のカラムにしているときに、それらを結合して検索したい(例えば 山田花子 とかで検索したい)とき。 SELECT * FROM user WHERE CONCAT(last_name, first_name) like "山田花子"; は…

Doctrine QueryBuilder の join の書き方めも(WITHなし・あり)

product テーブル id category_id name category テーブル id name createQueryBuilder() ->select('p') ->from('AppBundle:Product', 'p') ->join('p.category', 'c') ->where('c.name = :name') ->setParameter('name', $name) ->orderBy('p.id', 'DESC') …

Symfonyの雑なメモ:2018-01-26

Databases and the Doctrine ORM symfony.com Qiitaに書いた雑なまとめ記事。 qiita.com # .env # customize this line! DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name" 上記設定したあとに接続できているか確認するときは doctrine:qu…