Bird
Raised Fist0
Laravelframework~10 mins

CRUD with Eloquent in Laravel - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to retrieve all records from the User model.

Laravel
$users = User::[1]();
Drag options to blanks, or click blank then click option'
Aall
Bfind
CgetById
Dselect
Attempts:
3 left
💡 Hint
Common Mistakes
Using find() which requires an ID parameter.
Using select() which needs additional query building.
2fill in blank
medium

Complete the code to find a User by its primary key.

Laravel
$user = User::[1]($id);
Drag options to blanks, or click blank then click option'
Aall
Bfind
Cget
Dwhere
Attempts:
3 left
💡 Hint
Common Mistakes
Using all() which returns all records.
Using where() which returns a query builder, not a model instance.
3fill in blank
hard

Fix the error in the code to update a User's name and save it.

Laravel
$user = User::find($id);
$user->name = [1];
$user->save();
Drag options to blanks, or click blank then click option'
A'John'
BJohn
C$name
D"John"
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting quotes around string literals.
Using bare words without quotes causing errors.
4fill in blank
hard

Fill both blanks to create a new User and save it to the database.

Laravel
$user = new User();
$user->[1] = 'alice@example.com';
$user->[2]();
Drag options to blanks, or click blank then click option'
Aemail
Bsave
Ccreate
Dupdate
Attempts:
3 left
💡 Hint
Common Mistakes
Using create() on an instance instead of save().
Trying to update() a new model before saving.
5fill in blank
hard

Fill all three blanks to delete a User by ID safely.

Laravel
$user = User::[1]($id);
if ($user) {
    $user->[2]();
} else {
    [3]('User not found');
}
Drag options to blanks, or click blank then click option'
Afind
Bdelete
Cabort
Ddestroy
Attempts:
3 left
💡 Hint
Common Mistakes
Using destroy() on an instance instead of find().
Not checking if the user exists before deleting.
Not handling the case when user is not found.

Practice

(1/5)
1. Which Eloquent method is used to add a new record to the database in Laravel?
easy
A. create()
B. find()
C. delete()
D. update()

Solution

  1. Step 1: Understand the purpose of create()

    The create() method in Eloquent is designed to add a new record to the database by passing an array of attributes.
  2. Step 2: Compare with other methods

    find() retrieves a record, delete() removes a record, and update() modifies an existing record. None of these add new records.
  3. Final Answer:

    create() -> Option A
  4. Quick Check:

    Add new record = create() [OK]
Hint: Use create() to add new data fast [OK]
Common Mistakes:
  • Confusing find() with create()
  • Using update() to add new records
  • Trying to delete() to add data
2. Which of the following is the correct syntax to find a record by its ID using Eloquent?
easy
A. $user = User->find($id);
B. $user = User::findById($id);
C. $user = User::find($id);
D. $user = User.find($id);

Solution

  1. Step 1: Recall Eloquent static method syntax

    Eloquent uses static methods on the model class, so User::find($id) is correct.
  2. Step 2: Identify incorrect syntax

    User->find($id) is invalid because User is a class, not an object. findById() does not exist. User.find() is not PHP syntax.
  3. Final Answer:

    $user = User::find($id); -> Option C
  4. Quick Check:

    Find by ID uses ::find() [OK]
Hint: Use double colon :: for static methods [OK]
Common Mistakes:
  • Using arrow -> on class name
  • Calling non-existent findById() method
  • Using dot . notation like JavaScript
3. What will be the output of this code snippet assuming a user with ID 5 exists?
$user = User::find(5);
if ($user) {
$user->name = 'Alice';
$user->save();
echo 'Updated';
} else {
echo 'Not found';
}
medium
A. Updated
B. Not found
C. Error: save() method missing
D. No output

Solution

  1. Step 1: find(5) execution

    Since a user with ID 5 exists, User::find(5) returns an Eloquent model instance, making $user truthy.
  2. Step 2: Update and save

    The if ($user) condition passes, so name is set to 'Alice', save() persists it to the database, and 'Updated' is echoed.
  3. Final Answer:

    Updated -> Option A
  4. Quick Check:

    Record found and saved = 'Updated' [OK]
Hint: If find() returns object, save() updates record [OK]
Common Mistakes:
  • Assuming save() is missing
  • Thinking find() throws error if no record
  • Expecting no output when record exists
4. Identify the error in this code that tries to delete a user by ID:
$user = User::find($id);
$user->delete($id);
medium
A. delete() method does not exist in Eloquent
B. find() should be replaced with findOrFail()
C. You must call save() after delete()
D. delete() should be called without arguments

Solution

  1. Step 1: Understand delete() method usage

    In Eloquent, delete() is called on the model instance without any arguments to remove that record.
  2. Step 2: Identify the incorrect argument

    The code incorrectly passes $id to delete(), which expects no parameters. This causes an error.
  3. Final Answer:

    delete() should be called without arguments -> Option D
  4. Quick Check:

    delete() takes no parameters [OK]
Hint: Call delete() directly on model instance without args [OK]
Common Mistakes:
  • Passing ID to delete() method
  • Thinking delete() needs save() after
  • Confusing delete() with static method
5. You want to update a user's email only if the user exists and the new email is not empty. Which code snippet correctly does this using Eloquent?
hard
A.
$user = User::find($id);
if ($newEmail) {
$user->email = $newEmail;
$user->save();
}
B.
$user = User::find($id);
if ($user && !empty($newEmail)) {
$user->email = $newEmail;
$user->save();
}
C.
$user = User::findOrFail($id);
$user->email = $newEmail;
$user->save();
D.
$user = User::where('id', $id)->update(['email' => $newEmail]);

Solution

  1. Step 1: Check user existence and email validity

    $user = User::find($id);
    if ($user && !empty($newEmail)) {
    $user->email = $newEmail;
    $user->save();
    }
    checks if $user exists and $newEmail is not empty before updating, preventing errors or empty updates.
  2. Step 2: Compare other options

    $user = User::find($id);
    if ($newEmail) {
    $user->email = $newEmail;
    $user->save();
    }
    skips user existence check, risking errors if user is null.
    $user = User::findOrFail($id);
    $user->email = $newEmail;
    $user->save();
    uses findOrFail() which throws exception if user missing, no email empty check.
    $user = User::where('id', $id)->update(['email' => $newEmail]);
    updates directly but does not check if $newEmail is empty.
  3. Final Answer:

    $user = User::find($id);
    if ($user && !empty($newEmail)) {
    $user->email = $newEmail;
    $user->save();
    }
    -> Option B
  4. Quick Check:

    Check user and email before save [OK]
Hint: Always check user exists and data valid before save [OK]
Common Mistakes:
  • Not checking if user exists before update
  • Skipping validation of new email
  • Using findOrFail without handling exceptions
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard