PHP

PHP

[Laravel]Eloquentで条件をネストする方法

Laravel の Eloquent を使って、WHERE ( A OR B ) AND C を実装する方法を書いておきます。
PHP

[Laravel]phpunitでStorageの接続失敗をテスト

Laravelで外部ストレージ等にアクセスする際、Storageを使ったりしますよね。今回は、Storageで接続するサーバとのFTP接続に失敗したらリトライする機能をテストしてみたいと思います。環境Windows 10Laravel 6....
PHP

explodeとarray_popは同時に使えない

phpのコーディング中に発生したエラーの対処法...explodeとarray_popを1行にまとめていると、エラーが発生してしまいました。
Docker

Docker + Laravel memory_limit 変更

Docker上で動かしているphpのメモリ上限が変わらず、すぐに「Allowed memory size of xxxxxx bytes exhausted」が発生してしまうーなんて人に見てほしいです
PHP

Laravel + MySQL Partition

Laravel + MySQL でPartitionを使用した際にハマったことをメモ。from句の指定箇所でエラーが出てもがいたので、同じような人の役に立てば。。。incorrectってエラーが出たらこうすれば突破できます。
PHP

[Laravel]toSql()で出力したSQLログのプレースホルダーを埋める

Eloquentを使っている場合、toSql()メソッドで生成したクエリを確認できることは広く知られていますが、この状態ではプレースホルダーに「?」が書かれているだけで、パラメータを確認できません。ましてや、そのままクエリを実行してみるなんてこともできません。getBindings()でパラメータを取得することもできますが、パラメータの数が増えるとなかなか大変な作業になってしまいますよね。ただ、SQLを確認したいだけなのに。。。そういう時はツールを作りましょう。
PHP

maatwebsite/excel 複合keyを持つmodelを使うとmb_strpos() expects…

maatwebsite/excel でCSV出力を簡単に実装できるのですが、一つ弱点というかハマったところがあったので、共有しておきます。CSV出力用のクエリを構成する際にmodelを単体で使用する。且つ、そのmodelが複合KEYを持つとmb_strpos() expects .... というエラーが発生します。どうやら、Model.phpの内部処理で主KEYの情報を取得する処理で、文字列を期待しているところに、(複合KEYなので)配列が渡されることで、エラーが発生すると。。。対策としては、Modelを使用しないでデータ抽出のクエリを組めば大丈夫でした。
PHP

複数階層の連想配列を1次配列へ変換

連想配列の中にさらに配列を持つオブジェクトを1次配列に変換する方法です。
PHP

[Laravel]Artisan コマンドを使いやすくする方法

Laravelの...artisanコマンド...コントローラを作成...サーバーを起動...いろいろな事ができますが、私はこのartisanコマンドを覚えていませ...VS Codeにあるプラグインを導入すると、artisanコマンドがより身近に...今回はその方法といくつか、使用例を挙げ...
PHP

[Laravel]プロジェクト作成でエラー

Crafting application... Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for league/flysystem 1.0.63 -> satisfiable by league/flysystem[1.0.63]. - league/flysystem 1.0.63 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system. Problem 2 - league/flysystem 1.0.63 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system. - laravel/framework v6.10.1 requires league/flysystem ^1.0.8 -> satisfiable by league/flysystem[1.0.63]. - Installation request for laravel/framework v6.10.1 -> satisfiable by laravel/framework[v6.10.1]. To enable extensions, verify that they are enabled in your .ini files: - C:phpphp.ini You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.