移行前記事
toArray()
…オブジェクトの内容を配列に変える$user = User::factory()->make();
// => App\\User {#4973
name: "yJpdiI6ImZQTEV2WGk2N2hGMmFYMXNwbFRlSkE9PSIsInZhbHVlIjoiVU9ITDJySTFCb9",
email: "NmM5YjM5OGFhYTYwNmJkNzI3MjQxIn0=",
#password: "$2y$10$UMFzL7I7hk/vPNkCvIinV",
account_id: 264,
}
オブジェクトになっている。
$user->toArray();
// => [
"name" => "山口 浩",
"email" => "[email protected]",
"account_id" => 264,
]
こんな感じで配列になっている
Laravel では''(シングルクォート)
で書くようにする。
'こういう場合はシングルです。'
結合の場合は""(ダブルクォート)
でも OK
"私の名前は{{ $user }}です。"
Controller→view にデータを渡す
'loginUrl'=> $userLogin
として渡して{{ $loginUrl }}
で view で受け取るeach()
…コレクションのアイテムを繰り返しで処理し、コールバックに各アイテムを渡す。
$collection->each(function ($item, $key) {
//
});
upsert
…update+insert。データがあれば更新。なければ挿入。
upsert(挿入か更新する値, 入れるレコード, 一致するデータがDBに存在する場合に更新する必要のあるカラム)
Crypt::encrypt
でエンコード。Crypt::decrypt
でデコード…laravel の暗号化方法
set
(暗号化)もしくはgetフィールド名Attribute
(復号化)というメソッド名に揃えなければならない。pubulic function setFruitsAttribute {
$crypt = Crypt::encrypt(りんご)
dd($crypt)
// りんごをエンコードされた結果が出る
// #rfag%gsgsbsgs$gsgs
}
pubulic function getFruitsAttribute {
$decrypt = Crypt::decrypt($crypt)
dd($decrypt)
// #rfag%gsgsbsgs$gsgsをデコードする
// りんご
}
views/vender/mail の中にdefalut.css
が埋まっている。メールデザインの CSS を変更したい場合
firstWhere
…メソッドはコレクションの中から、最初の指定したキー/値ペアの要素を返す。
toMail($createAccount)
…$createAccount の内容をメールに変換している
$collection = collect([
['name' => 'Regena', 'age' => null],
['name' => 'Linda', 'age' => 14],
['name' => 'Diego', 'age' => 23],
['name' => 'Linda', 'age' => 84],
]);
$collection->firstWhere('name', 'Linda');
// ['name' => 'Linda', 'age' => 14]
ログのデバック方法
…dd()
と同じようにデバックできる。
\\Log::info('tsubasa web memo');
\\Log::info($user);
\\Log::info($this->user);
if (self::ACCOUNT_ID_PEOPLE) {
$emails->each(function ($email) use ($Comments, $loginUrl) {
Mail::to($email)->queue(new NewComments($Comments, $phone->name, $loginUrl));
});
} else {
$emails->each(function ($email) use ($Comments, $LoginUrl) {
Mail::to($email)->queue(new NewComments($Comments, $phone->name, $LoginUrl));
});
}
// 無駄に多くなってしまう
// 必要な関数内の引数で条件を追加させることで条件分岐化
private function dispatchMail(int $accountTypeId, Collection $emails, Phone $phone, string $loginUrl): void
{
処理
}
logging.php
で定義されている。Slack に通知も可能。 どうやら monolog という外部ライブラリを含んでいるみたい。使い方は知らんけど。キューのテスト
…バックグランドで送信するために、mailable をキュー投入している場合は、assertSent
の代わりにassertQueued
メソッドを使用してください。observer
…モデルの処理を監視して、別処理をする方法。つまり、モデルの処理のグループ化
password_verify(string $password, string $hash)
…パスワードのハッシュ化されたものをテストしたい場合(php)
getOriginalContent()->getData()
…コントローラから view に渡しているパラメータをテストでチェックできる