LaravelEloquent, Laravel, PHP

結論

削除しようとしているそのモデル、SoftDelete 設定になってません?

assertDatabaseMissing ではなく assertSoftDeleted 使ってね。

詳細

テストコードをたくさん書いていくぜー!

って張り切ったものの、めっちゃ足止め食らいました…。

リモートデバッグで1行ずつ動かしても、

App\Models ...

CakePHP, Laravel, LevTech, PHP, Twitterスカウト, アウトプット, エージェント, ネットワーク, レバテック, 契約トラブル, 履歴書, 職務経歴書, 週4稼働, 面談

「さすがにこれは、ちょっと無理だな…」

そう諦めたのは10月の中旬に入ったころでしょうか。

方向転換して、地元のエージェントさんに当たってみることにしました。

転んでもただでは起きたくないので、この際、いくつかメジャーなエージェントさんに登録して、各社の違いを実体験してみよう…そう思いながら複数社に申し込みをしてみます。

この時に得た教訓をまと ...

BackLog, GitHub, Laravel, MVC, ORM, PHP, Vue.js, Wantedly, オンラインミーティング, キャッチアップ, フルリモート, ホワイト企業, リモートワーク, 上場企業, 契約更新, 自社システム, 資金ショート

こうして新たな一歩を踏み出せることになりました。

さっそく指定されたオフィスに通い始め、環境を構築し、Laravelで作られた業務システムの開発に取り組んでいきます。

お声がけ頂いたのが、すでに上場されている企業さんと言うこともあり、組織体系もしっかりしています。

また、受託開発ではなく、自社のシステムを開発していくというお仕事だったので、お客さんからの過 ...

LaravelFactory, Laravel, PHP, Test

結論setUpBeforeClass() が実行されるタイミングでは factory は使えない。(そもそもデータの状態が他のテストケースに依存しないようにした方が良い)
setUp() 内で parent::setUp() 呼ぶの忘れてない?(公式にも「テストクラスに独自のsetUpメソッドを定義する場合は、親のクラスのparent::setUp()/parent::tearDown()を ...

LaravelLaravel, PHP, Storage, ファイル操作

結論

config/filesystems.php に、自前で設定を追加すればOK。

詳細

Laravel のデフォルト設定だと、

'local' => ,

となっておりまして、 プロジェクトルート/storage/app が起点になってました。

例えば、/storage/temp にある全ファイルを取得したい、という場合に、

$tempfiles ...

Laravel, PHPLaravel, PHP, Rule, Validation, バリデーション, 年月, 年月日, 日付関数

結論

PHP に checkdate() 関数が用意されてました…。

PHP: checkdate – Manual

言い訳

年月日、もしくは年月のみがパラメーターで渡されてくる場合に、年月日として有効かどうか?のパリデーションをかけたかったわけです。

で、Carbon とかで用意されてる…よね? とか思っていろいろ探してたら見つからなくて、PHP ...

LaravelCSV, Excel, Laravel, Laravel-Excel, PHP, Shift_JIS, UTF-8, エクスポート, ダウンロード, 文字化け

結論作成した HogeExport クラスに getCsvSettings() で CSV の設定を用意しておく。
忘れずに WithCustomCsvSettings を implement する。

2つ目を忘れてると、getCsvSettings() 用意しておいても無視されて気づかないのです…。

詳細

Excelで csv ファイルを開いたときに文字化けする現象で ...

Laraveldebug, Laravel, PHP, Queue, Worker, バッチ処理, ブレークポイント

結論

QUEUE_DRIVER=database にしておけば failed_jobs テーブルの exception カラムに StackTrace が記録されるので、そこから辿るべし。

詳細

Queue に突っ込んだ処理をデバッグしようとしても全然言うこと聞いてくれない。

ブレークポイントが効かないので、仕方なく Log::debug() したりもしたんだけれど、何も ...

ブログLaravel, PHP, Twitter転職, フリーランス, フルリモート, リモートワーク, 求人, 転職

事業拡大に伴い再度エンジニア採用すすめるとのことで再募集。ミーティング情報なども修正。

チームに合いそうな方を長期で募集中です。ミーティングの情報など修正。

今自分が入ってるLaravel案件でエンジニアさんの追加募集をしております。

実際に自分がほぼフルコミットで参画しており、とても仕事しやすい環境です。

2019年12月末から入っていますが ...

LaravelEloquent, Laravel, PHP

結論

DB::table() ->leftJoin() で第二引数にクロージャーを渡せるので、その中でフィルタ的な処理を書き込む。

詳細

ユーザーが投稿した記事の一覧を取得する際はこんな感じで LEFT JOIN を指定。

$users = DB::table('users') ->leftJoin('posts', 'users.id', '=', 'posts. ...