찾다
PHP 프레임워크Laravel라라벨 데이터베이스 설정

Laravel은 데이터 처리에 탁월한 오픈 소스 PHP 웹 프레임워크입니다. Laravel은 간단하고 유연하며 사용하기 쉬운 ORM(Object Relational Mapping) 방법을 제공하여 개발자가 다양한 데이터베이스를 보다 편리하게 처리할 수 있도록 해줍니다.

Laravel을 사용할 때 Laravel이 데이터베이스에 올바르게 접근할 수 있도록 먼저 데이터베이스 링크를 설정해야 합니다. 아래에서는 Laravel에서 데이터베이스를 설정하는 방법을 설명합니다.

1. 환경 변수

Laravel에서는 .env 파일을 수정하여 데이터베이스 정보를 설정할 수 있습니다. .env 파일에서 다음 정보를 찾을 수 있습니다.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
  • DB_CONNECTION은 데이터베이스 유형을 지정하는 데 사용됩니다. Laravel에서 지원하는 데이터베이스 유형에는 mysql, pgsql, sqlite, sqlsrv 등이 있습니다.
  • DB_CONNECTION 用于指定数据库的类型,Laravel支持的数据库类型有mysql、pgsql、sqlite、sqlsrv等。
  • DB_HOST 用于指定数据库所在的主机名或IP地址,一般指定为localhost127.0.0.1
  • DB_PORT 用于指定数据库服务器的端口号。
  • DB_DATABASE 用于指定要使用的数据库名称。
  • DB_USERNAME 用于指定连接数据库使用的用户名。
  • DB_PASSWORD 用于指定连接数据库使用的密码。

在进行完以上的设置之后,Laravel将会使用这些设置来连接我们的数据库。

2. 数据库迁移

Laravel提供了数据库迁移的功能,可以方便我们在不同的数据库之间进行数据迁移。在进行数据库迁移时需要注意的是,我们需要先创建数据库并设置好相应的连接信息,然后再利用迁移器进行数据迁移。

在Laravel中,我们可以通过执行php artisan make:migration create_users_table命令来创建一个迁移文件。该命令将会在database/migrations目录中生成一个新的迁移文件,文件名类似于2019_04_01_000001_create_users_table.php

在创建完迁移文件之后,我们需要打开该文件并编辑其中的up方法和down方法。其中,up方法将会在执行迁移时被调用,用于定义我们需要执行的数据库操作;down方法将会在撤销迁移时被调用,用于定义我们需要执行的撤销操作。下面我们以创建用户表为例,进行代码示范:

<?php

use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('users');
    }
}

以上代码将会创建一个名为users的表,该表包含5个字段idnameemailpasswordremember_token,以及两个自动维护的字段created_atupdated_at

在完成了上述设置之后,我们可以执行php artisan migrate命令来执行数据迁移操作。

3. 模型

在Laravel中,我们可以使用Eloquent ORM来方便地操作我们的数据库。Eloquent ORM提供了许多方法用于执行CRUD(create, read, update, delete)操作,能够帮助我们快速进行数据库操作。

我们先来看一下在模型中设置数据库的方法。在模型类中,我们可以使用以下方法来指定表名、主键以及数据库连接信息:

<?php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    protected $table = 'users';

    protected $primaryKey = 'id';

    protected $connection = 'mysql';
}

以上代码将会指定使用mysql连接来访问users表,该表的主键为id

在设置完数据库连接信息后,我们就可以使用Eloquent ORM来进行数据库操作了。下面我们来看一些Eloquent ORM的基本操作。

3.1 创建数据

在Eloquent ORM中,我们可以使用create方法来创建数据。例如:

$user = User::create([
    'name' => 'Tom',
    'email' => 'tom@example.com',
    'password' => bcrypt('password'),
]);

以上代码将会创建一条名为Tom、邮箱为tom@example.com、密码为password的用户数据。

3.2 查询数据

在Eloquent ORM中,我们可以使用get方法来查询数据。例如:

$users = User::get();

以上代码将会从users表中查询出所有的用户数据。

我们也可以使用where方法来进行条件查询。例如:

$users = User::where('name', 'Tom')->get();

以上代码将会从users表中查询出名称为Tom的所有用户数据。

3.3 更新数据

在Eloquent ORM中,我们可以使用update方法来更新数据。例如:

$user = User::where('name', 'Tom')->first();
$user->email = 'new_email@example.com';
$user->save();

以上代码将会将名为Tom的用户数据的邮箱改为new_email@example.com

3.4 删除数据

在Eloquent ORM中,我们可以使用delete方法来删除数据。例如:

$user = User::where('name', 'Tom')->first();
$user->delete();

以上代码将会删除名为TomDB_HOST는 데이터베이스가 있는 호스트 이름이나 IP 주소를 지정하는 데 사용되며 일반적으로 localhost 또는 127.0.0.1로 지정됩니다. >.

DB_PORT는 데이터베이스 서버의 포트 번호를 지정하는 데 사용됩니다. 🎜DB_DATABASE는 사용할 데이터베이스 이름을 지정하는 데 사용됩니다. 🎜DB_USERNAME은 데이터베이스에 연결하는 데 사용되는 사용자 이름을 지정하는 데 사용됩니다. 🎜DB_PASSWORD는 데이터베이스에 연결하는 데 사용되는 비밀번호를 지정하는 데 사용됩니다. 🎜위 설정을 완료한 후 Laravel은 이 설정을 사용하여 데이터베이스에 연결합니다. 🎜🎜2. 데이터베이스 마이그레이션🎜🎜Laravel은 서로 다른 데이터베이스 간에 데이터를 쉽게 마이그레이션할 수 있는 데이터베이스 마이그레이션 기능을 제공합니다. 데이터베이스 마이그레이션을 수행할 때 주의해야 할 점은 먼저 데이터베이스를 생성하고 해당 연결 정보를 설정한 후 마이그레이션 도구를 사용하여 데이터를 마이그레이션해야 한다는 것입니다. 🎜🎜Laravel에서는 php artisan make:migration create_users_table 명령을 실행하여 마이그레이션 파일을 생성할 수 있습니다. 이 명령은 2019_04_01_000001_create_users_table.php와 유사한 파일 이름을 사용하여 database/migrations 디렉터리에 새 마이그레이션 파일을 생성합니다. 🎜🎜마이그레이션 파일을 생성한 후 파일을 열고 up 메서드와 down 메서드를 편집해야 합니다. 그중 up 메소드는 수행해야 하는 데이터베이스 작업을 정의하기 위해 마이그레이션을 실행할 때 호출됩니다. down 메소드는 마이그레이션을 되돌릴 때 호출되며 정의에 사용됩니다. 우리가 수행해야 할 실행 취소 작업. 코드를 설명하기 위해 예로 사용자 테이블을 생성해 보겠습니다. 🎜rrreee🎜위 코드는 id, 라는 5개 필드를 포함하는 <code>users라는 테이블을 생성합니다. >name, email, password, remember_token 및 자동으로 유지되는 2개의 필드 created_at > 및 updated_at. 🎜🎜위 설정을 완료한 후 php artisan migration 명령을 실행하여 데이터 마이그레이션을 수행할 수 있습니다. 🎜🎜3. Model🎜🎜Laravel에서는 Eloquent ORM을 사용하여 데이터베이스를 편리하게 운영할 수 있습니다. Eloquent ORM은 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 수행하는 다양한 방법을 제공하여 데이터베이스 작업을 빠르게 수행하는 데 도움이 됩니다. 🎜🎜먼저 모델에 데이터베이스를 설정하는 방법을 살펴보겠습니다. 모델 클래스에서는 다음 방법을 사용하여 테이블 이름, 기본 키 및 데이터베이스 연결 정보를 지정할 수 있습니다. 🎜rrreee🎜위 코드는 mysql 연결을 사용하여 에 액세스하도록 지정합니다. >users 테이블에서 이 테이블의 기본 키는 id입니다. 🎜🎜데이터베이스 연결 정보를 설정한 후 Eloquent ORM을 사용하여 데이터베이스 작업을 수행할 수 있습니다. Eloquent ORM의 몇 가지 기본 작업을 살펴보겠습니다. 🎜

3.1 데이터 생성

🎜Eloquent ORM에서는 create 메소드를 사용하여 데이터를 생성할 수 있습니다. 예: 🎜rrreee🎜위 코드는 Tom이라는 사용자 데이터를 생성하고, 이메일 주소는 tom@example.com, 비밀번호는 password입니다. > . 🎜

3.2 데이터 쿼리

🎜Eloquent ORM에서는 get 메서드를 사용하여 데이터를 쿼리할 수 있습니다. 예: 🎜rrreee🎜위 코드는 users 테이블의 모든 사용자 데이터를 쿼리합니다. 🎜🎜where 메소드를 사용하여 조건부 쿼리를 수행할 수도 있습니다. 예: 🎜rrreee🎜위 코드는 users 테이블에서 Tom이라는 이름의 모든 사용자 데이터를 쿼리합니다. 🎜

3.3 데이터 업데이트

🎜Eloquent ORM에서는 update 메소드를 사용하여 데이터를 업데이트할 수 있습니다. 예: 🎜rrreee🎜위 코드는 Tom이라는 사용자 데이터의 이메일 주소를 new_email@example.com으로 변경합니다. 🎜

3.4 데이터 삭제

🎜Eloquent ORM에서는 delete 메소드를 사용하여 데이터를 삭제할 수 있습니다. 예: 🎜rrreee🎜위 코드는 Tom이라는 사용자 데이터를 삭제합니다. 🎜

결론

간단히 말하면, Laravel은 웹 애플리케이션 개발 시 더욱 편리하게 사용할 수 있는 다양한 데이터베이스 운영 방법을 제공합니다. 데이터베이스를 설정할 때 불필요한 오류를 피하기 위해 환경 변수 설정 및 데이터베이스 마이그레이션 파일 편집에 주의해야 합니다. 동시에 Eloquent ORM은 편리하고 빠른 CRUD 작업 방법을 제공하여 개발 프로세스를 보다 효율적으로 만들 수 있습니다.

위 내용은 라라벨 데이터베이스 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
기술 문제 : 분산 팀원을위한 도구 및 리소스에 대한 공평한 액세스 보장기술 문제 : 분산 팀원을위한 도구 및 리소스에 대한 공평한 액세스 보장Apr 29, 2025 am 12:40 AM

분산 팀원이 도구 및 리소스에 공정한 액세스 권한을 갖도록하는 방법 : 1) 비동기 비디오 또는 텍스트 업데이트와 같은 저 대역폭 대안 사용, 연결 문제를 해결하기 위해; 2) 코어 중첩 근무 시간을 설정하고 시간대 차이를 관리하기위한 유연한 근무 시간을 제공합니다. 3) 번역 기능과 문화 인식 훈련을 통해 다양한 문화적 요구에 적응합니다. 이러한 전략은 포용적이고 효율적인 원격 작업 환경을 조성하는 데 도움이됩니다.

인스턴트 메시징 필수 해보 : 원격 설정에서 실시간 커뮤니케이션을 육성합니다인스턴트 메시징 필수 해보 : 원격 설정에서 실시간 커뮤니케이션을 육성합니다Apr 29, 2025 am 12:38 AM

forenhancingremotecollaboration, aninstantmessagingtoolmusthave : 1) 신뢰성이 연속적으로 해당하는 경우, 2) anintuitiveuserinterinterfaceynavigation, 3) Real-TimenotificationStayupdated, 4) SeamlessFilesharingforefficialDocumentExchange, 5) 통합

분산 팀에서 일하는 동안 어떤 도전에 직면 한 적이 있습니까?분산 팀에서 일하는 동안 어떤 도전에 직면 한 적이 있습니까?Apr 29, 2025 am 12:35 AM

ThebiggestchallengeofmanagingDistributedTeamsiscommunication.toaddressthis, usetoolslikeslack, Zoom 및 Github; setClearExectations; FoscertrustandAutonomy; ubstractAnchronousworkpatterns; andintegratestaskmanagement withCommunicationPlatformsForforforforforforforforforforfforforfforforfforforfforforfforfforfforfforforfforforfforforfforforfforforforfforfforforfforforfforforformital

새로운 Laravel 버전의 보안 개선은 무엇입니까?새로운 Laravel 버전의 보안 개선은 무엇입니까?Apr 29, 2025 am 12:17 AM

Laravel의 최신 버전은 다음을 포함하여 보안을 크게 향상 시켰습니다. 1.보다 강력한 토큰 검증 메커니즘을 통해 CSRF 보호 향상; 2. 향상된 쿼리 구성 방법을 통해 개선 된 SQL 주입 보호; 3. 사용자 데이터 보안을 보장하기위한 더 나은 세션 암호화; 4. 더 미세한 세분화 된 사용자 인증 및 MFA (Multi-Factor Authentication)를 지원하는 인증 시스템 향상.

시간대 탱고 : 글로벌 인력의 일정 충돌 예약 탐색시간대 탱고 : 글로벌 인력의 일정 충돌 예약 탐색Apr 29, 2025 am 12:13 AM

Tonavigateschedulingconflictsinaglobalworkforce, usetechnology, 공감 및 전략적 계획 : 1) EmployToolsworldtimebuddyorcalendlyforscheduling; 2) rotatemeettimeettimeettimeStoensureFairness; 3) SpuctionCoreHourOverlap;

Laravel을 통한 풀 스택 개발 : API 및 프론트 엔드 로직 관리Laravel을 통한 풀 스택 개발 : API 및 프론트 엔드 로직 관리Apr 28, 2025 am 12:22 AM

Laravel Full-Stack Development에서 API 및 프론트 엔드 로직을 관리하는 효과적인 방법은 다음과 같습니다. 1) 편안한 컨트롤러 및 리소스 라우팅 관리 API 사용; 2) 블레이드 템플릿 및 vue.js 또는 반응을 통한 프론트 엔드 로직 처리; 3) API 버전화 및 페이징을 통한 성능 최적화; 4) 유지 관리 및 확장 성을 보장하기 위해 백엔드 및 프론트 엔드 논리의 분리를 유지합니다.

번역 손실 : 분산 팀의 문화적 뉘앙스 및 오해번역 손실 : 분산 팀의 문화적 뉘앙스 및 오해Apr 28, 2025 am 12:22 AM

TotackleculturalIntricaciesindipributedTeams, Fosteranenvernmentcelebratingdifferences, bemindfulofcommunication, andusetoolsforclarity.1) 구현 culturalexChangessessionStosharestoriesandtraditions.2) AdvernCommunicationMethodStosuitculturalPreference

연결 측정 : 원격 커뮤니케이션 효과를위한 분석 및 통찰력연결 측정 : 원격 커뮤니케이션 효과를위한 분석 및 통찰력Apr 28, 2025 am 12:16 AM

toAssesstheeffectiveIneSofRemoteCommunication, FocusOn : 1) indagementMetricsLikemEsageFrequencyAndResponSetime, 2) SentimentAnalySistoGaUgeEmoptionalTone, 3) MeetingEfficivenitesThrougAntSendAndActionItems, and4) NetworkAnalysistOndStandCommiticaticPA

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구