CodeLab技術ブログ

プログラミング技術まとめ

2019年10月9日
から CodeLab
0件のコメント

[CakePHP3.7] Impossible to generate condition with empty list of values

where()メソッドで
$query->where([‘User.id IN’=>$blacklist_users_ids]);
こんな感じで絞り込みたい場合。
$blacklist_users_idsで一つでもデータがあればいいのですが1つもない状態だと。
下記のようなエラーが出てしまいます。
Impossible to generate condition with empty list of values

バージョン
CakePHP 3.8

続きを読む →

2019年9月26日
から CodeLab
[CakePHP3.8]Hidden属性のパラメータがpatchEntityでEntityに反映されない はコメントを受け付けていません。

[CakePHP3.8]Hidden属性のパラメータがpatchEntityでEntityに反映されない

HiddenでのPOSTデータの保存処理を書いていたのだが、どうも挙動がおかしいことがありいろいろいじってみた。

編集処理の場合、保存済みのデータとPOSTデータをpatchEntity()でマージする。
で、Hidden属性のデータで中身がNULLのものをマージしたら、Entityになぜか前のデータが残ってしまっていた。

バージョン
CakePHP 3.8

続きを読む →

2019年9月13日
から CodeLab
[CakePHP3.7]saveAllの代替方法 はコメントを受け付けていません。

[CakePHP3.7]saveAllの代替方法

CakePHP2では、saveAll()メソッドで複数行に一括Insertができたのだが、CakePHP3ではなくなってしまった。
1クエリでInsertできないとなると、大量にInsertが必要な場合かなりのパフォーマンス低下になってしまいます。
どうしたらいいのか?

バージョン
CakePHP 3.8

続きを読む →

jquery logo

2019年9月10日
から CodeLab
daterangepickerで複数のフォーム一つのスクリプト管理する はコメントを受け付けていません。

daterangepickerで複数のフォーム一つのスクリプト管理する

bootstrap-daterangepicker でいい感じに1つのスクリプトで複数のフォームで動くようにする方法。
https://github.com/dangrossman/daterangepicker

続きを読む →

2019年9月3日
から CodeLab
[CakePHP3.7]TimeZone設定について はコメントを受け付けていません。

[CakePHP3.7]TimeZone設定について

CakePHP3では、そのまま使うとTimeZoneがUCTになってしまって、日本国内だけで使う場合はいろいろと面倒なことが起こりますので、日本のタイムゾーンの設定を行います。

バージョン
CakePHP 3.8

続きを読む →

2019年8月27日
から CodeLab
[CakePHP3]friendsofcake/searchでbelongsToManyを検索する はコメントを受け付けていません。

[CakePHP3]friendsofcake/searchでbelongsToManyを検索する

friendsofcake/searchの記事を以前書きましたが、それに関連して、belongsToManyなモデルで検索する場合どうしたらいいかを調べてみました。
searchプラグインについて基本的な使い方がわからない場合は、まず以前の記事を先に見てください。

バージョン
CakePHP3.7

続きを読む →

2019年8月23日
から CodeLab
[CakePHP3]ビヘイビア内で呼び出し元のモデルにアクセスするには? はコメントを受け付けていません。

[CakePHP3]ビヘイビア内で呼び出し元のモデルにアクセスするには?

モデルの共通処理をビヘイビアで管理すると、重複した余計なコードを書かずに済みますが、ビヘイビア内で呼び出し元のモデルにアクセスするにはどうしたらよいか?

バージョン
CakePHP3.x

普通に$thisでアクセスできるのかなと思って・・・

class MyBehavior extends Behavior {
    public function func() {
        $entities = $this->find()->all();
    }
}

ってやってみたけどダメでした。

続きを読む →

2019年7月2日
から CodeLab
[CakePHP3]検索プラグインで複数カラムをLike検索する はコメントを受け付けていません。

[CakePHP3]検索プラグインで複数カラムをLike検索する

以前紹介した[CakePHP3]Cake3で検索プラグイン(friendsofcake/search)を使うですが、複数カラムを横断してLIKE検索する方法がなかったのでやってみました。

バージョン
CakePHP3.7

続きを読む →

2019年6月21日
から CodeLab
ImageMagic&PHPでJPEGに変換すると背景が黒くなる問題 はコメントを受け付けていません。

ImageMagic&PHPでJPEGに変換すると背景が黒くなる問題

ImageMagicでPDFを変換してJPEGにしたかったのだが、背景色が真っ黒になってしまって文字が読めなくなってしまう。
どうにかして背景色を設定したいのだがうまくいかない・・・

どうにかして見つけた方法がこれ。
続きを読む →

2019年6月18日
から CodeLab
[CakePHP3.7]Cookieの仕様変わりすぎだろ はコメントを受け付けていません。

[CakePHP3.7]Cookieの仕様変わりすぎだろ

Cookieを使おうと思っていろいろ調べたのだがなんだかわけがわからないのでまとめた。
CakePHP3.7をベースに、過去のバージョンでの仕様をまとめています。

続きを読む →

2019年5月13日
から CodeLab
Gitlabのせいでディスクフルになった はコメントを受け付けていません。

Gitlabのせいでディスクフルになった

Gitlabをソース管理で使っていたのですが、インストールしてあるサーバーがディスクフルになってしまってデータベースが動かなくなってしまいました。

原因は・・・・
GitLabのバックアップにありました。

CentOS7
GitLab Community Edition 11.3.4

続きを読む →

2019年4月19日
から CodeLab
大手企業でエンジニアで入ったら負け組な件について はコメントを受け付けていません。

大手企業でエンジニアで入ったら負け組な件について

最近、大手企業でのリストラのニュースが続いています。
しかも45歳以上で、一般的には転職しにくい年齢です。
このまえ、富士通で5,000人のリストラを発表しましたが、ほかの大手企業でも多いようです。

一応、現在(2019年春)、景気がいいことになっています。本当にいいのかどうかは意見が分かれるところですが、少なくとも大不況状態でないことはたしかです。
その状態で、リーマンショック時レベルのリストラをしまくっているのですから問題ですね。

で、タイトルの件。
”大手企業でエンジニアで入ったら負け組な件について”
いやいやそんなことないだろ、って思う人もいるかもしれませんが、なぜそう思うのかを述べたいと思います。
因みに、エンジニア限定の話です。

続きを読む →

2019年4月18日
から CodeLab
Windowsタブレットでキーボードが出てこない件 はコメントを受け付けていません。

Windowsタブレットでキーボードが出てこない件

キーボードが付いていないタブレットWindows PCで、Windowsアップデートや新しいユーザーを追加した場合など、何かの拍子にスクリーンキーボードが出てこなくなってしまった場合の対処方法です。

続きを読む →

2019年4月16日
から CodeLab
[CakePHP3]Url生成でprefixを無効にしたい はコメントを受け付けていません。

[CakePHP3]Url生成でprefixを無効にしたい

Prefixを設定して管理者用ページで
$this->Html->link(‘ログイン’,[‘controller’=>’users’,’action’=>’login’]);
というように書くと、
/admin/users/login
に飛んでしまいますが、
/users/login
に飛びたい場合

続きを読む →