
Eloquent ORM の基礎
Models、CRUD 操作、query builder、mass assignment、timestamps、soft deletes、accessors、mutators
22 面接問題·
Junior
1Eloquent はモデル名からテーブル名を推測する際、デフォルトでどの命名規則を使用しますか?
1
Eloquent はモデル名からテーブル名を推測する際、デフォルトでどの命名規則を使用しますか?
回答
Eloquent はクラス名の複数形 snake_case を使ってテーブル名を推測します。例えば、User モデルは users テーブルに対応し、BlogPost は blog_posts に対応します。この規則はモデル内で $table プロパティを定義することで上書きできます。
2新しいモデルの作成と保存を 1 回の操作で行える Eloquent のメソッドはどれですか?
2
新しいモデルの作成と保存を 1 回の操作で行える Eloquent のメソッドはどれですか?
回答
create() メソッドは属性の配列を受け取り、モデルの作成と保存を 1 回の操作で行います。mass assignment から保護するため、属性が $fillable プロパティに列挙されているか、$guarded が定義されている必要があります。new Model() の後に save() を呼ぶ方法とは異なり、create() はこれら 2 つのステップを 1 つにまとめます。
3$fillable に含まれていない属性を mass assignment しようとするとどうなりますか?
3
$fillable に含まれていない属性を mass assignment しようとするとどうなりますか?
回答
Laravel は mass assignment の脆弱性から保護するために MassAssignmentException をスローします。この保護により、悪意のあるユーザーが HTTP リクエストを通じて許可されていない属性を注入することを防ぎます。属性を $fillable に追加するか、$guarded を使って一部の属性のみ保護するか、forceFill() を使って保護をバイパスする必要があります。
4
Eloquent における find() メソッドと findOrFail() メソッドの違いは何ですか?
5
Eloquent は created_at と updated_at のカラムをどのように自動的に処理しますか?
+19 面接問題
その他のLaravel面接トピック
PHPの基礎
Junior
25問PHP オブジェクト指向の基礎
Junior
20問Composer & Autoloading
Junior
18問Laravelの基礎
Junior
20問Laravel ルーティング
Junior
20問Blade Templates
Junior
18問Request & Response
Junior
20問Eloquent Relationships
Mid-Level
25問Migrations & Schema Builder
Mid-Level
20問バリデーションとフォーム
Mid-Level
22問認証
Mid-Level
20問認可とPolicies
Mid-Level
18問API Resources & Authentication
Mid-Level
26問ミドルウェア
Mid-Level
18問Service Container & DI
Mid-Level
20問Queues & Jobs
Mid-Level
22問Events & Listeners
Mid-Level
18問通知とメール
Mid-Level
20問File Storage
Mid-Level
18問Testing & PHPUnit
Mid-Level
24問Caching
Mid-Level
18問Livewire & Inertia
Mid-Level
20問Eloquent Advanced
Senior
24問Repository Pattern
Senior
20問Laravel パッケージ
Senior
20問Performance Optimization
Senior
22問Security Best Practices
Senior
22問Laravel Octane
Senior
18問Laravel Distributed Systems
Senior
22問Observability & Monitoring
Senior
20問Deployment & DevOps
Senior
20問