Eloquent ORM and Database Interaction Flashcards
(25 cards)
What is Eloquent ORM in Laravel?
Eloquent ORM is Laravel’s object-relational mapper that simplifies database interactions using PHP classes.
Eloquent maps database tables to models, like WordPress’s $wpdb but more object-oriented. For example, a User model interacts with a users table. Freelancers use Eloquent for data management, while enterprise architects design scalable models, aligning with your PHP database and WordPress experience.
How do you create an Eloquent model?
Use php artisan make:model User, which generates app/Models/User.php.
Similar to creating a WordPress custom post type, this creates a model class. Freelancers use models for CRUD operations, while enterprise architects ensure proper naming conventions, per your Artisan CLI knowledge from Laravel Fundamentals.
What is the default table name for an Eloquent model?
The pluralized, snake_case model name, like users for the User model.
Eloquent assumes users for User, like WordPress’s wp_posts. Freelancers rely on defaults, while enterprise architects customize table names via $table, per your MySQL deck.
How do you specify a custom table for an Eloquent model?
Set the $table property, like protected $table = ‘my_users’;.
Overrides the default table, similar to WordPress’s custom table prefixes. Freelancers use it for non-standard tables, while enterprise architects align with schema designs, per your database interaction skills.
What is the $fillable property in an Eloquent model?
The $fillable property lists mass-assignable fields, like protected $fillable = [‘name’, ‘email’];.
Prevents mass-assignment vulnerabilities, like WordPress’s sanitize_text_field(). Freelancers define fillable fields, while enterprise architects enforce security, per your PHP security deck.
How do you create a record with Eloquent?
Use create(), like User::create([‘name’ => ‘John’, ‘email’ => ‘john@example.com’]);.
Inserts a row, like WordPress’s $wpdb->insert(). Requires $fillable. Freelancers add data, while enterprise architects validate inputs, per your PHP database deck.
How do you retrieve all records with Eloquent?
Use all(), like User::all();, which returns a collection.
Fetches all rows, like WordPress’s get_posts(). Freelancers display lists, while enterprise architects optimize queries, per your WordPress query experience.
How do you find a record by ID with Eloquent?
Use find(), like User::find(1);, or findOrFail().
Retrieves a single record, like WordPress’s get_post(). findOrFail() throws a 404 if not found. Freelancers fetch data, while enterprise architects handle exceptions, per your error handling deck.
How do you update a record with Eloquent?
Use update(), like User::find(1)->update([‘name’ => ‘Jane’]);.
Modifies a row, like WordPress’s $wpdb->update(). Freelancers edit records, while enterprise architects use transactions for reliability, per your PHP database deck.
How do you delete a record with Eloquent?
Use delete(), like User::find(1)->delete();.
Removes a row, like WordPress’s wp_delete_post(). Freelancers delete data, while enterprise architects ensure safe deletion, per your MySQL deck.
What is a Laravel migration?
A migration is a PHP file that defines database schema changes, created with php artisan make:migration.
Like WordPress’s database version updates, migrations create or alter tables. Freelancers build schemas, while enterprise architects version-control migrations, per your MySQL management experience.
How do you create a table with a Laravel migration?
Use Schema::create(), like Schema::create(‘users’, function (Blueprint $table) { $table->id(); $table->string(‘name’); });.
Defines a table, like MySQL’s CREATE TABLE. Freelancers create tables, while enterprise architects ensure schema consistency, per your MySQL deck.
How do you run Laravel migrations?
Use php artisan migrate to execute migrations.
Applies schema changes, like WordPress’s database upgrades. Freelancers run migrations, while enterprise architects automate them, per your LAMP deployment deck.
What is a hasMany relationship in Eloquent?
A hasMany relationship links one model to multiple, like public function posts() { return $this->hasMany(Post::class); }.
Like WordPress’s posts-to-user relation, it connects a User to Posts. Freelancers fetch related data, while enterprise architects optimize queries, per your database relationships knowledge.
What is a belongsTo relationship in Eloquent?
A belongsTo relationship links a model to its parent, like public function user() { return $this->belongsTo(User::class); }.
Like WordPress’s post-to-author link, it connects a Post to a User. Freelancers display ownership, while enterprise architects ensure referential integrity.
How do you query a hasMany relationship?
Use the relationship method, like $user->posts()->get();.
Retrieves related records, like WordPress’s get_posts([‘author’ => $id]). Freelancers list data, while enterprise architects use eager loading, per your query skills.
What is eager loading in Eloquent?
Eager loading preloads relationships, like User::with(‘posts’)->get();.
Reduces queries, unlike WordPress’s multiple $wpdb calls. Freelancers optimize performance, while enterprise architects prevent N+1 issues, per your performance deck.
What is the Query Builder in Laravel?
The Query Builder provides a fluent interface for SQL queries, like DB::table(‘users’)->where(‘age’, ‘>’, 18)->get();.
An alternative to Eloquent, like WordPress’s $wpdb->get_results(). Freelancers use it for raw queries, while enterprise architects prefer Eloquent for ORM benefits.
How do you use where clauses in Eloquent?
Use where(), like User::where(‘email’, ‘john@example.com’)->first();.
Filters records, like WordPress’s WP_Query conditions. Freelancers query data, while enterprise architects optimize conditions, per your PHP database deck.
What is the firstOrCreate() method in Eloquent?
firstOrCreate() finds a record or creates one, like User::firstOrCreate([‘email’ => ‘john@example.com’], [‘name’ => ‘John’]).
Ensures unique records, like WordPress’s wp_insert_user(). Freelancers manage data, while enterprise architects prevent duplicates.
How do you soft delete records in Eloquent?
Add SoftDeletes trait and deleted_at column, then use delete(), like User::find(1)->delete();.
Marks records as deleted, like WordPress’s trash feature. Freelancers implement soft deletes, while enterprise architects manage restoration logic, per your MySQL experience.
How do you retrieve soft-deleted records?
Use withTrashed(), like User::withTrashed()->find(1);.
Accesses trashed records, like WordPress’s get_posts([‘post_status’ => ‘trash’]). Freelancers restore data, while enterprise architects audit deletions.
What is a Laravel seeder?
A seeder populates the database with test data, created with php artisan make:seeder UserSeeder.
Like WordPress’s sample content, it aids development. Freelancers seed data, while enterprise architects use factories for testing, per your database setup skills.
How do you run a Laravel seeder?
Use php artisan db:seed or php artisan db:seed –class=UserSeeder.
Executes seeders, like WordPress’s import tools. Freelancers populate databases, while enterprise architects automate seeding, per your LAMP deployment deck.