Tag: Eloquent

マスアサインメントの保護を外す

今回は「マスアサインメントの保護を外す」という大胆なタイトルです。マスアサインメントの保護は、Eloquentにおけるモデルの定義においての$fillableや$guardedを通しての設定のことです。その保護を外す、とは、これを指定しない、ということではなく(もちろん外すのは危険)、あるケースにおいて外す必要が出てきたときに、どう外すかということです。

fresh() vs refresh()

tinkerを使用して開発中の関数をいろいろ試験します。Eloquent関連の関数で複数のDBテーブルに渡り値を更新する関数ゆえに、tinkerがとても役に立つのです。しかし、試験中に不思議なことが起こりました。ちょっと格闘して、なるほどそこではこうすればいいのだな、という話を共有です。

正しいのは、isEmptyでした

日常、いつもの考えや習慣で仮定してしまい、「実はそうでなかった」と後で冷や汗なること多々あります。Laravelのプログラミングもそうです。その過ちを繰り返さないために、出会ったらブログに書いていくことにします。 今回はCollectionに関して、最近うっかりしたこと。

hasManyのフェイクデータの作成

hasManyリレーションは、Eloquentのモデル間(つまり、DBのテーブル間)に1対多の関係を持たせるリレーションです。 今回は、factory()を使って、このhasManyのリレーションを持つDBテーブルにフェイクデータを作成してみます。

DBレコードのコピー

レコードのコピーという作業は結構起こることです。例えば、Eコーマースのサイトなら、サイズだけが違う商品は、説明などの他の属性はほとんど同じなので、わざわざ新規の商品の情報をすべて手入力というよりは、既存の商品をもとに編集する方がもちろん簡単です。 さて、このレコードのコピー作業、Eloquentではどうやるのでしょう?