In Laravel, working with databases is made easy through the Eloquent ORM (Object-Relational Mapping) and the underlying Query Builder. Laravel supports multiple database systems, including MySQL, PostgreSQL, SQLite, and SQL Server. Here's a brief overview of working with databases in Laravel:
1. Configuration:
Database configuration is defined in the config/database.php file. You can set the connection details for different environments (development, testing, production) in the .env file.
2. Eloquent ORM:
Eloquent is Laravel's implementation of the active record pattern, allowing you to interact with your database using PHP objects. Each table in your database has a corresponding "model" in Laravel.
Creating a Model:
You can create a model using the Artisan command:
php artisan make:model ModelName
Example Model:
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
// Model-specific code
}
Example Usage:
// Retrieving all users
$users = User::all();
// Finding a user by primary key
$user = User::find(1);
// Querying with conditions
$users = User::where('name', 'John')->get();
// Creating a new user
$newUser = new User;
$newUser->name = 'Jane';
$newUser->email = '[email protected]';
$newUser->save();
3. Query Builder:
Laravel also provides a query builder for direct database queries:
// Select query
$users = DB::table('users')->get();
// Insert query
DB::table('users')->insert([
'name' => 'John Doe',
'email' => '[email protected]',
]);
// Update query
DB::table('users')->where('id', 1)->update(['name' => 'New Name']);
// Delete query
DB::table('users')->where('id', 1)->delete();
4. Migrations:
Migrations allow you to version-control your database schema. You can create and run migrations to modify database tables.
php artisan make:migration create_users_table
Example migration file:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamps();
});
}
Run the migration:
php artisan migrate
5. Seeding:
Database seeding is the process of populating your database with sample data. Laravel provides a simple way to seed your database using seed classes:
php artisan make:seeder UsersTableSeeder
Example seeder:
public function run()
{
DB::table('users')->insert([
'name' => 'John Doe',
'email' => '[email protected]',
]);
}
Run the seeder:
php artisan db:seed --class=UsersTableSeeder

Comments