Laravel

Eloquent ORM の基礎

Models、CRUD 操作、query builder、mass assignment、timestamps、soft deletes、accessors、mutators

22 面接問題·
Junior
1

Eloquent はモデル名からテーブル名を推測する際、デフォルトでどの命名規則を使用しますか?

回答

Eloquent はクラス名の複数形 snake_case を使ってテーブル名を推測します。例えば、User モデルは users テーブルに対応し、BlogPost は blog_posts に対応します。この規則はモデル内で $table プロパティを定義することで上書きできます。

2

新しいモデルの作成と保存を 1 回の操作で行える Eloquent のメソッドはどれですか?

回答

create() メソッドは属性の配列を受け取り、モデルの作成と保存を 1 回の操作で行います。mass assignment から保護するため、属性が $fillable プロパティに列挙されているか、$guarded が定義されている必要があります。new Model() の後に save() を呼ぶ方法とは異なり、create() はこれら 2 つのステップを 1 つにまとめます。

3

$fillable に含まれていない属性を mass assignment しようとするとどうなりますか?

回答

Laravel は mass assignment の脆弱性から保護するために MassAssignmentException をスローします。この保護により、悪意のあるユーザーが HTTP リクエストを通じて許可されていない属性を注入することを防ぎます。属性を $fillable に追加するか、$guarded を使って一部の属性のみ保護するか、forceFill() を使って保護をバイパスする必要があります。

4

Eloquent における find() メソッドと findOrFail() メソッドの違いは何ですか?

5

Eloquent は created_at と updated_at のカラムをどのように自動的に処理しますか?

+19 面接問題

次の面接に向けてLaravelをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める