laravel
直接的なアサーションがなかったから作った. TestCaseでuseして使うtraitにしてみた. たぶんMacroを用意するのが正当なアプローチだと思うんだけど, 調べるの面倒で雑に書いてしまった. myAssertElementsCountIs($browser, 'tbody>tr', 1); */ p…
なんかチョットハマったので. <input type="date" id="due_date"> に対してこうやりたいんだけど, どうもうまくいかない. ->type('#due_date', '2020-01-01') 調べるとこうやるらしい. ->keys('#due_date', '2020', '{tab}', '01', '01') 微妙に面倒.
なんか毎回ググってる気がするからメモっとく. 場合によっちゃDuskTestCase.phpに入れてもいいかもしれない. public function setUp(): void { parent::setUp(); // 毎回ログアウトするためクッキーを消す foreach (static::$browsers as $browser) { $brows…
パスワードのハッシュを確認するメソッドを毎回忘れる. // Hashファサードがいるよね use Illuminate\Support\Facades\Hash; // 普通の項目は以下でテストできる $this->assertDatabaseHas('users', [ 'name' => '更新した名前', 'email' => '更新したメール…
忘れるし. vagrantで構築する時の. ユーザはvagrantで. provisioning.shとか作れって話だけど. ロケールがvagrantのboxにないのでlibcを入れなおす sudo yum reinstall -y glibc glibc-common ロケールとタイムゾーンの設定 sudo localectl set-locale LANG=…
こんなエラーが出た. Symfony\Component\Debug\Exception\FatalThrowableError : Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found doctrine/dbalを入れれば良いという情報はたくさん見つかるのだが, Laravel6だとうまく動かなかった. どうもdoctrin…
なんかいつも忘れるというかハマるんだよね. is_doneはDB上はbooleanとして. <input type="hidden" name="is_done" value="0"> <input type="checkbox" name="is_done" value="1" id="is_done" @if (old('is_done', $production_plan->is_done ? '1' : '0') === "1") checked @endif > <label for="is_done">完了 </label> テーブルみたいな明細構造でも同じ考え方で大丈夫.(当たり…
unique使うと更新時に問題になるんだけど, ignoreというメソッドがいつの間にか追加されている. これを使えば「更新対象レコードのidを除外してuniqueチェック」ができるけど, 更新対象レコードのidをフォームリクエスト内でどうやって取得するのかわからな…
O/Rマッパーは便利なんだけどパフォーマンスとか考えると生のSQLみたい事がよくある. というか生SQLの方がわかりやすいことも正直多い.... ということで生のSQLを出す方法を調べた. 1. toSqlを使う ちょっと見るにはシンプルでよい. $query = $User::where('…
毎回ググってる. ユニーク制約を追加する時. $table->unique(['列1', '列2'], '制約名'); ユニーク制約を削除する時. $table->dropUnique('制約名'); 制約追加時の制約名は任意指定のようだけど, 後で削除することを考えると指定しておいたほうがわかりやす…
なんかパッとわからなかったのでメモ. Laravel6では動いた. 多分5とかでも動く. $table->dropForeign('[外部キーを取り除くテーブル名]_[外部キーを取り除く列名]_foreign');
メモ書き. ハマった点は assertViewHasにはpaginate()の結果を渡してやる必要がある(これはまぁそうだよね) assertViewHasに渡すデータはwithでeagar loadingしたデータを渡す必要がある それっぽいコードを書くと、以下ではダメで // 検索結果が昇順でソー…
毎回忘れるから雑にメモ. HomesteadでなくCentOSの場合 chromeを入れてやる必要がある. vi /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch enabled=1 gpgcheck=1…
結論としてはchromeとchrome-driverに必要なライブラリが入っていなかったからっぽい. Homesteadって全部入りではないのか... っていうか以前のバージョンなら問題なく動いた気が...なぜなのだ... # 直接実行するとchrome-driverがそもそも動作しない $ ./ve…
Laravel 5.7で試した. intervention/imageを使った. 他にも透かしを入れられたりと便利. 基本的に上記の公式を見るのがよい. 以下は怠けたいとき用. composerでパッケージのインストール $ composer require intervention/image laravelのconfigへ追記 confi…
なんか前も同じ事やった気がするのでメモっとく. composer installとかcomposer updateをすると以下のメッセージが出てくる. It is unsafe to run Dusk in production. 本番環境でDusk入れるなあぶねーぞだそうだ.うん.そうだね. 対処 composer.jsonに以下を…
わからん. が, とりあえず調べてみると説得力あるのが以下だった. teratail の回答 要は「Laravel公式でもヘルパ関数が用意されているんだから, その実装方法を見習え」ということっぽい. 確かにLaravelには豊富なヘルパ関数がある. 単純に実装する この方法…
FormRequestを使ってバリデーションを書いていた時に, ややこしい条件でバリデーションをかけたくなった. 個別のフィールドに対して検証するのではなく, フィールド2つ以上を組み合わせて検証とか, DBの値を使ってとか. 単一のフィールドそれぞれの検証なら,…
初心者なのでメモばかりになる. よくある一覧ページ(検索条件で絞って次々に見ていくやつ)を作っていた. 検索で次ページへ移動すると検索条件が引き継がれてなくて, ページネーションでパラメータが渡っていないことに気づいた. ページネーションは以下のよ…
Laravelでアプリを初めて作った時のメモがSimpleNoteに残ってたので記事にして保管しておく. わりと当たり前の事も書いてあるけど, まぁ, いいや. たぶん追記していくことになる. モデルとかコントローラーとか一括で作りたい 以下でmodelとcontrollerとmigr…
参考サイトほぼまんまだけど, メモ. herokuアカウントを作る アクセスして作る. CLIツールを入れる homestead上で入れた. sudo snap install --classic heroku CLIツールでログインする vagrant@homestead:~/code$ heroku login heroku: Enter your login cr…
雑だけど, 作った. github.com 最近, 新しいフレームワークや言語を触るときには簡単な業務システムを作るようにしている. (もちろん, 業務系で使える技術ならではあるが) 昔作ったやつは以下. VB.NET(Windows Forms)で見積管理システムを作った Rails5で簡…
プロジェクトが複数同時に走るとか, よくある事なので. 普通はどうするんだ? 以下を見ると1つのVMを共有して使うようですね. Homesteadを使って複数のLaravelプロジェクトを作成する簡単な方法 ホスト名で切り分けると. VM分けたいんだけど... VM分けたいで…
Laravel 5.7.4で試した. LaravelにはQuery Builderが備わっています. SQLインジェクション対策も施されていて, それなりに複雑なクエリも書けるので, O/RマッパーのEloquentだと複雑になりそうな時には便利っぽいです. 試すための事前準備 DBにはPostgreSQL…
Laravel Framework 5.7.4で確認. ググっても案外パッとは出てこなかったので書いておく. Railsのtruncateみたいなのが欲しかった. str_limitを使えば良いらしい. {{ str_limit($string, $limit = 150, $end = '...') }} Helperがいっぱいあるので一通り見て…
一応メモっとく. Homesteadで環境は作ってある前提 プロジェクトを作る&バージョン確認 codeというプロジェクトを作成. vagrant@homestead:~$ composer create-project --prefer-dist laravel/laravel code バージョンは5.7.4 vagrant@homestead:~/code$ php…
Homestead上のLaravel 5.7.4で試した. Laravelには認証を実装するための機能が標準で付いてきています. 認証はどこでも必要になるので入門するには良いとっかかりということで, 利用してみました. 実装できる機能 標準でもこれだけ実装できます. ほとんどの…
忘れそうなので, とりあえずざっとメモ. vagrantをWSL上に入れる 別記事にした. Homesteadのインストール WSL(ubuntu)で作業. $ git clone https://github.com/laravel/homestead.git $ bash init.sh # Homestead.yamlが生成される. 必要なら生成ファイルを…
先にざっくり概要 VirtualBoxを入れる Vagrantを入れる Git for Windowsを入れる HomesteadのVagrant boxをダウンロード Homesteadのgitリポジトリをclone init.batを起動 環境変数を設定 ssh-keygenで鍵を作成 Homestead.yamlを編集 vagrant upでVMを起動 v…