목차
1. 증가 및 감소
2. X 메서드를 먼저 실행합니다. 실행 실패, Y 메소드 실행
3. 模型的 boot() 方法
4. 带条件与排序的关联关系
5. 模型特性:时间、追加等
6. 通过 ID 查询多条记录
7. WhereX
8. 通过关系排序
9. Eloquent::when() -- 不再使用 if-else
10. 一对多返回默认模型对象
11. 通过赋值函数进行排序
12. 全局作用域下的默认排序
13. 原生查询方法
14. 复制:复制一行的副本
15. Chunk() 方法之大块数据
16. 创建模型时创建额外的东西
17. 调用 save 方法的时候指定 updated_at
18. update() 的结果是什么?
19. 把括号转换成 Eloquent 查询
20. 复数参数的 orWhere
PHP 프레임워크 Laravel 일반적으로 사용되는 Laravel Eloquent 필수 실무 기술

일반적으로 사용되는 Laravel Eloquent 필수 실무 기술

Jun 13, 2020 pm 06:24 PM

일반적으로 사용되는 Laravel Eloquent 필수 실무 기술

Eloquent ORM은 간단한 메커니즘처럼 보이지만, 반쯤 숨겨진 기능이 많고 더 많은 기능을 달성하기 위한 잘 알려지지 않은 방법도 있습니다. 이번 글에서는 몇 가지 팁을 보여드리겠습니다.

1. 증가 및 감소

다음 구현을 대체하려면:

$article = Article::find($article_id);
$article->read_count++;
$article->save();
로그인 후 복사

이를 수행할 수 있습니다.

$article = Article::find($article_id);
$article->increment('read_count');
로그인 후 복사

다음 메서드도 구현할 수 있습니다.

Article::find($article_id)->increment('read_count');
Article::find($article_id)->increment('read_count', 10); // +10
Product::find($produce_id)->decrement('stock'); // -1
로그인 후 복사

2. X 메서드를 먼저 실행합니다. 실행 실패, Y 메소드 실행

Eloquent에는 "메소드 X를 먼저 실행하고, 메소드 X가 실행에 실패하면 메소드 Y를 실행하세요"와 같이 두 가지 메소드를 결합할 수 있는 함수가 꽤 많이 있습니다.

예제 1 -- findOrFail(): findOrFail():

要替代以下代码的实现:

$user = User::find($id);
if (!$user) { abort (404); }
로그인 후 복사

你可以这样写:

$user = User::findOrFail($id);
로그인 후 복사

实例 2 -- firstOrCreate():

要替代以下代码的实现:

$user = User::where('email', $email)->first();
if (!$user) {
  User::create([
    'email' => $email
  ]);
}
로그인 후 복사

这样写就可以了:

$user = User::firstOrCreate(['email' => $email]);
로그인 후 복사

3. 模型的 boot() 方法

在一个 Eloquent 模型中,有个神奇的地方,叫 boot(),在那里,你可以覆盖默认的行为:

class User extends Model
{
    public static function boot()
    {
        parent::boot();
        static::updating(function($model)
        {
            // 写点日志啥的
            // 覆盖一些属性,类似这样 $model->something = transform($something);
        });
    }
}
로그인 후 복사

在创建模型对象时设置某些字段的值,大概是最受欢迎的例子之一了。 一起来看看在创建模型对象时,你想要生成 UUID 字段 该怎么做。

public static function boot()
{
  parent::boot();
  self::creating(function ($model) {
    $model->uuid = (string)Uuid::generate();
  });
}
로그인 후 복사

4. 带条件与排序的关联关系

定义关联关系的一般方式:

public function users() {
    return $this->hasMany('App\User');
}
로그인 후 복사

你知道吗?也可以在上面的基础上增加 where 或者 orderBy?
举个例子,如果你想关联某些类型的用户,同时使用 email 字段排序,你可以这样做:

public function approvedUsers() {
    return $this->hasMany('App\User')->where('approved', 1)->orderBy('email');
}
로그인 후 복사

5. 模型特性:时间、追加等

Eloquent模型有些参数,使用类的属性形式。最常用是:

class User extends Model {
    protected $table = 'users';
    protected $fillable = ['email', 'password']; // 可以被批量赋值字段,如 User::create() 新增时,可使用字段
    protected $dates = ['created_at', 'deleted_at']; // 需要被Carbon维护的字段名
    protected $appends = ['field1', 'field2']; // json返回时,附加的字段
}
로그인 후 복사

不只这些,还有:

protected $primaryKey = 'uuid'; // 更换主键
public $incrementing = false; // 设置 不自增长
protected $perPage = 25; // 定义分页每页显示数量(默认15)
const CREATED_AT = 'created_at';
const UPDATED_AT = 'updated_at'; //重写 时间字段名
public $timestamps = false; // 设置不需要维护时间字段
로그인 후 복사

还有更多,我只列出了一些有意思的特性,具体参考文档 abstract Model class 了解所有特性.

6. 通过 ID 查询多条记录

所有人都知道  find()  方法,对吧?

$user = User::find(1);
로그인 후 복사

我十分意外竟然很少人知道这个方法可以接受多个 ID 的数组作为参数:

$users = User::find([1,2,3]);
로그인 후 복사

7. WhereX

有一种优雅的方式能将这种代码:

$users = User::where('approved', 1)->get();
로그인 후 복사

转换成这种:

$users = User::whereApproved(1)->get();
로그인 후 복사

对,你没有看错,使用字段名作为后缀添加到 where 后面,它就能通过魔术方法运行了。

另外,在 Eloquent 里也有些和时间相关的预定义方法:

User::whereDate('created_at', date('Y-m-d'));
User::whereDay('created_at', date('d'));
User::whereMonth('created_at', date('m'));
User::whereYear('created_at', date('Y'));
로그인 후 복사

8. 通过关系排序

一个复杂一点的「技巧」。你想对论坛话题按最新发布的帖子来排序?论坛中最新更新的主题在最前面是很常见的需求,对吧?

首先,为主题的最新帖子定义一个单独的关系:

public function latestPost()
{
    return $this->hasOne(\App\Post::class)->latest();
}
로그인 후 복사

然后,在控制器中,我们可以实现这个「魔法」:

$users = Topic::with('latestPost')->get()->sortByDesc('latestPost.created_at');
로그인 후 복사

9. Eloquent::when() -- 不再使用 if-else

很多人都喜欢使用"if-else"来写查询条件,像这样:

if (request('filter_by') == 'likes') {
    $query->where('likes', '>', request('likes_amount', 0));
}
if (request('filter_by') == 'date') {
    $query->orderBy('created_at', request('ordering_rule', 'desc'));
}
로그인 후 복사

有一种更好的方法 -- 使用 when()

$query = Author::query();
$query->when(request('filter_by') == 'likes', function ($q) {
    return $q->where('likes', '>', request('likes_amount', 0));
});
$query->when(request('filter_by') == 'date', function ($q) {
    return $q->orderBy('created_at', request('ordering_rule', 'desc'));
});
로그인 후 복사

它可能看上去不是很优雅,但它强大的功能是传递参数:

$query = User::query();
$query->when(request('role', false), function ($q, $role) {
    return $q->where('role_id', $role);
});
$authors = $query->get();
로그인 후 복사

10. 一对多返回默认模型对象

假设现在有种情况是要显示文章的作者,然后模板代码是:

{{ $post->author->name }}
로그인 후 복사

但是如果作者的信息被删除或者因为某些原因没有被设置。代码会返回一个错误,诸如 "property of non-object"。

当然你可以这样处理:

{{ $post->author->name ?? '' }}
로그인 후 복사

你可以通过 Eloquent 关系这样做:

public function author()
{
    return $this->belongsTo('App\Author')->withDefault();
}
로그인 후 복사

在此示例中,如果文字没有作者的信息, author() 会返回一个空的 AppAuthor 模型对象。

再者,我们也可以给默认的模型对象里面的属性赋默认值。

public function author()
{
    return $this->belongsTo('App\Author')->withDefault([
        'name' => 'Guest Author'
    ]);
}
로그인 후 복사

11. 通过赋值函数进行排序

想象一下你有这样的代码:

function getFullNameAttribute()
{
  return $this->attributes['first_name'] . ' ' . $this->attributes['last_name'];
}
로그인 후 복사

现在,你想要通过 "full_name" 进行排序? 发现是没有效果的:

$clients = Client::orderBy('full_name')->get(); //没有效果
로그인 후 복사

解决办法很简单.我们需要在获取结果后对结果进行排序.

$clients = Client::get()->sortBy('full_name'); // 成功!
로그인 후 복사

注意的是方法名称是不相同的 -- 它不是orderBy,而是sortBy

12. 全局作用域下的默认排序

如果你想要 User::all() 总是按照 name 字段来排序呢? 你可以给它分配一个全局作用域。让我们回到 boot()

다음 코드의 구현을 바꾸려면:

protected static function boot()
{
    parent::boot();

    // 按照 name 正序排序
    static::addGlobalScope('order', function (Builder $builder) {
        $builder->orderBy('name', 'asc');
    });
}
로그인 후 복사
다음과 같이 작성할 수 있습니다. 🎜
// whereRaw
$orders = DB::table('orders')
    ->whereRaw('price > IF(state = "TX", ?, 100)', [200])
    ->get();

// havingRaw
Product::groupBy('category_id')->havingRaw('COUNT(*) > 1')->get();

// orderByRaw
User::where('created_at', '>', '2016-01-01')
  ->orderByRaw('(updated_at - created_at) desc')
  ->get();
로그인 후 복사
로그인 후 복사
🎜예제 2 -- firstOrCreate() :🎜🎜다음 코드의 구현을 바꾸려면:🎜
$task = Tasks::find(1);
$newTask = $task->replicate();
$newTask->save();
로그인 후 복사
로그인 후 복사
🎜다음과 같이 작성하세요:🎜
$users = User::all();
foreach ($users as $user) {
    // ...
로그인 후 복사
로그인 후 복사
🎜3. 모델의 boot() 메소드🎜🎜Eloquent 모델에는 boot (), 기본 동작을 재정의할 수 있습니다: 🎜
User::chunk(100, function ($users) {
    foreach ($users as $user) {
        // ...
    }
});
로그인 후 복사
로그인 후 복사
🎜 모델 객체를 생성할 때 특정 필드의 값을 설정하는 것은 아마도 가장 인기 있는 예 중 하나일 것입니다. 모델 객체 생성 시 UUID 필드를 생성하고 싶다면 어떻게 해야 하는지 살펴보겠습니다. 🎜
php artisan make:model Company
로그인 후 복사
로그인 후 복사
🎜4. 조건과 정렬을 사용한 연관🎜🎜 연관을 정의하는 일반적인 방법: 🎜
php artisan make:model Company -mcr
로그인 후 복사
로그인 후 복사
🎜알고 계시나요? 위 내용을 기반으로 where 또는 orderBy?
를 추가할 수도 있습니다. 예를 들어 특정 유형의 사용자를 연결하고 이메일 필드를 사용하여 정렬할 수 있습니다. , 이렇게 할 수 있습니다: 🎜
$product = Product::find($id);
$product->updated_at = '2019-01-01 10:00:00';
$product->save(['timestamps' => false]);
로그인 후 복사
로그인 후 복사
🎜5. 모델 기능: 시간, 추가 등. 🎜🎜 Eloquent 모델의 일부 매개변수는 클래스의 속성 형식을 사용합니다. 가장 일반적으로 사용되는 기능은 다음과 같습니다.🎜
$result = $products->whereNull('category_id')->update(['category_id' => 2]);
로그인 후 복사
로그인 후 복사
🎜이것들뿐만 아니라:🎜
... WHERE (gender = 'Male' and age >= 18) or (gender = 'Female' and age >= 65)
로그인 후 복사
로그인 후 복사
🎜더 많은 기능이 있습니다. 자세한 내용은 문서 추상 모델 클래스를 참조하여 모든 기능을 알아보세요.🎜🎜6 .ID 레코드로 여러 항목 검색🎜🎜 find() 메소드는 다들 아시죠? 🎜
$q->where('gender', 'Male');
$q->orWhere('age', '>=', 18);
$q->where('gender', 'Female');
$q->orWhere('age', '>=', 65);
로그인 후 복사
로그인 후 복사
🎜이 방법이 여러 ID의 배열을 매개변수로 받아들일 수 있다는 사실을 아는 사람이 거의 없다는 사실에 매우 놀랐습니다. WhereX🎜🎜이 코드를 🎜
$q->where(function ($query) {
    $query->where('gender', 'Male')
        ->where('age', '>=', 18);
})->orWhere(function($query) {
    $query->where('gender', 'Female')
        ->where('age', '>=', 65);
})
로그인 후 복사
로그인 후 복사
🎜로 변환하는 우아한 방법이 있습니다. 🎜
$q->where('a', 1);
$q->orWhere('b', 2);
$q->orWhere('c', 3);
로그인 후 복사
로그인 후 복사
🎜 예, 올바르게 읽으셨습니다. 필드 이름을 접미사로 사용하고 where 뒤에 추가하면 매직 메서드를 통해 실행됩니다. 🎜🎜또한 Eloquent에는 시간과 관련하여 미리 정의된 몇 가지 방법이 있습니다: 🎜
$q->where('a', 1);
$q->orWhere(['b' => 2, 'c' => 3]);
로그인 후 복사
로그인 후 복사
🎜8. 관계별 정렬 🎜🎜더 복잡한 "기술". 최신 게시물을 기준으로 포럼 주제를 정렬하시겠습니까? 가장 최근에 업데이트된 주제를 포럼 상단에 표시하는 것은 일반적인 요구 사항입니다. 그렇죠? 🎜🎜먼저, 주제의 최신 게시물에 대해 별도의 관계를 정의합니다: 🎜rrreee🎜 그런 다음 컨트롤러에서 이 "마법"을 구현할 수 있습니다: 🎜rrreee🎜 9. Eloquent::when() -- 더 이상 if -else🎜 🎜많은 사람들이 쿼리 조건을 작성하기 위해 "if-else"를 사용하는 것을 좋아합니다. 이지만 강력한 기능은 매개변수를 전달하는 것입니다. 🎜rrreee🎜10. 일대다 기본 모델 객체를 반환합니다. 🎜🎜 기사 작성자를 표시하려는 상황이 있다고 가정하면 템플릿 코드는 다음과 같습니다. rrreee🎜 하지만 어떤 이유로 작가 정보가 삭제되었거나 설정되지 않은 경우. 코드는 "비객체의 속성"과 같은 오류를 반환합니다. 🎜🎜물론 다음과 같이 할 수 있습니다:🎜rrreee🎜Eloquent 관계를 통해 이 작업을 수행할 수 있습니다:🎜rrreee🎜이 예에서 텍스트에 작성자 정보가 없으면 author()는 빈 AppAuthor 모델 객체를 반환합니다. 🎜🎜게다가 기본 모델 객체의 속성에 기본값을 할당할 수도 있습니다. 🎜rrreee🎜11. 할당 기능으로 정렬🎜🎜다음 코드가 있다고 가정해 보세요.🎜rrreee🎜이제 "full_name"으로 정렬하려고 합니까? 효과가 없다는 것을 알았습니다.🎜rrreee🎜해결책은 간단합니다. 결과를 얻은 후 정렬됩니다.🎜rrreee🎜메서드 이름이 다릅니다. orderBy가 아니라 sortBy🎜🎜12. 전역 범위의 기본 정렬🎜🎜User::all()을 원하는 경우 는 항상 name 필드에 따라 정렬됩니까? 전역 범위를 할당할 수 있습니다. 위에서 언급한 boot() 메서드로 돌아가 보겠습니다. 🎜rrreee🎜확장된 읽기 쿼리 범위. 🎜

13. 原生查询方法

有时候,我们需要在 Eloquent 语句中添加原生查询。 幸运的是,确实有这样的方法。

// whereRaw
$orders = DB::table('orders')
    ->whereRaw('price > IF(state = "TX", ?, 100)', [200])
    ->get();

// havingRaw
Product::groupBy('category_id')->havingRaw('COUNT(*) > 1')->get();

// orderByRaw
User::where('created_at', '>', '2016-01-01')
  ->orderByRaw('(updated_at - created_at) desc')
  ->get();
로그인 후 복사
로그인 후 복사

14. 复制:复制一行的副本

很简单。说明不是很深入,下面是复制数据库实体(一条数据)的最佳方法:

$task = Tasks::find(1);
$newTask = $task->replicate();
$newTask->save();
로그인 후 복사
로그인 후 복사

15. Chunk() 方法之大块数据

与 Eloquent 不完全相关,它更多的关于 Collection (集合),但是对于处理大数据集合,仍然是很有用的。你可以使用 chunk() 将这些数据分割成小数据块

修改前:

$users = User::all();
foreach ($users as $user) {
    // ...
로그인 후 복사
로그인 후 복사

你可以这样做:

User::chunk(100, function ($users) {
    foreach ($users as $user) {
        // ...
    }
});
로그인 후 복사
로그인 후 복사

16. 创建模型时创建额外的东西

我们都知道Artisan命令:

php artisan make:model Company
로그인 후 복사
로그인 후 복사

但是,你知道有三个有用的标记可以为模型生成相关文件吗?

php artisan make:model Company -mcr
로그인 후 복사
로그인 후 복사
  • -m 将创建一个迁移文件

  • -c 将创建一个控制器

  • -r 表示控制器应该是一个资源控制器

17. 调用 save 方法的时候指定 updated_at

你知道  ->save() 方法可以接受参数吗? 我们可以通过传入参数阻止它的默认行为:更新  updated_at  的值为当前时间戳。

$product = Product::find($id);
$product->updated_at = '2019-01-01 10:00:00';
$product->save(['timestamps' => false]);
로그인 후 복사
로그인 후 복사

这样,我们成功在  save  时指定了  updated_at  的值。

18. update() 的结果是什么?

你是否想知道这段代码实际上返回什么?

$result = $products->whereNull('category_id')->update(['category_id' => 2]);
로그인 후 복사
로그인 후 복사

我是说,更新操作是在数据库中执行的,但 $result 会包含什么?

答案是受影响的行。 因此如果你想检查多少行受影响, 你不需要额外调用其他任何内容 -- update() 方法会给你返回此数字。

19. 把括号转换成 Eloquent 查询

如果你有个 andor 混合的 SQL 查询,像这样子的:

... WHERE (gender = 'Male' and age >= 18) or (gender = 'Female' and age >= 65)
로그인 후 복사
로그인 후 복사

怎么用 Eloquent 来翻译它呢? 下面是一种错误的方式:

$q->where('gender', 'Male');
$q->orWhere('age', '>=', 18);
$q->where('gender', 'Female');
$q->orWhere('age', '>=', 65);
로그인 후 복사
로그인 후 복사

顺序就没对。正确的打开方式稍微复杂点,使用闭包作为子查询:

$q->where(function ($query) {
    $query->where('gender', 'Male')
        ->where('age', '>=', 18);
})->orWhere(function($query) {
    $query->where('gender', 'Female')
        ->where('age', '>=', 65);
})
로그인 후 복사
로그인 후 복사

20. 复数参数的 orWhere

终于,你可以传递阵列参数给 orWhere()。平常的方式:

$q->where('a', 1);
$q->orWhere('b', 2);
$q->orWhere('c', 3);
로그인 후 복사
로그인 후 복사

你可以这样做:

$q->where('a', 1);
$q->orWhere(['b' => 2, 'c' => 3]);
로그인 후 복사
로그인 후 복사

我很确定还有更多隐藏的秘诀,但我希望至少上面的其中一些对你来说是新的。

推荐教程:《Laravel教程

위 내용은 일반적으로 사용되는 Laravel Eloquent 필수 실무 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

어느 것이 더 낫습니까, 장고 또는 라벨? 어느 것이 더 낫습니까, 장고 또는 라벨? Mar 28, 2025 am 10:41 AM

Django와 Laravel은 모두 풀 스택 프레임 워크입니다. Django는 Python 개발자 및 복잡한 비즈니스 논리에 적합한 반면 Laravel은 PHP 개발자 및 우아한 구문에 적합합니다. 1. Django는 파이썬을 기반으로하며 빠른 개발 및 높은 동시성에 적합한 "배터리 완성"철학을 따릅니다. 2. Laravel은 PHP를 기반으로하며 개발자 경험을 강조하며 중소형 프로젝트에 적합합니다.

Laravel 및 백엔드 : 파워링 웹 응용 프로그램 논리 Laravel 및 백엔드 : 파워링 웹 응용 프로그램 논리 Apr 11, 2025 am 11:29 AM

Laravel은 백엔드 논리에서 어떻게 중요한 역할을합니까? 라우팅 시스템, eloquentorm, 인증 및 승인, 이벤트 및 청취자, 성능 최적화를 통해 백엔드 개발을 단순화하고 향상시킵니다. 1. 라우팅 시스템은 URL 구조의 정의 및 요청 처리 로직을 정의 할 수 있습니다. 2. eloquentorm은 데이터베이스 상호 작용을 단순화합니다. 3. 인증 및 인증 시스템은 사용자 관리에 편리합니다. 4. 이벤트와 리스너는 느슨하게 결합 된 코드 구조를 구현합니다. 5. 성능 최적화는 캐싱 및 대기열을 통한 응용 프로그램 효율성을 향상시킵니다.

LARAVEL 소개 예 LARAVEL 소개 예 Apr 18, 2025 pm 12:45 PM

Laravel은 웹 응용 프로그램을 쉽게 구축하기위한 PHP 프레임 워크입니다. 설치 : Composer를 사용하여 전 세계적으로 Laravel CLI를 설치하고 프로젝트 디렉토리에서 응용 프로그램을 작성하는 등 다양한 기능을 제공합니다. 라우팅 : Routes/Web.php에서 URL과 핸들러 간의 관계를 정의하십시오. 보기 : 리소스/뷰에서보기를 작성하여 응용 프로그램의 인터페이스를 렌더링합니다. 데이터베이스 통합 : MySQL과 같은 데이터베이스와 상자 외 통합을 제공하고 마이그레이션을 사용하여 테이블을 작성하고 수정합니다. 모델 및 컨트롤러 : 모델은 데이터베이스 엔티티를 나타내고 컨트롤러는 HTTP 요청을 처리합니다.

더 나은 PHP 또는 Laravel은 무엇입니까? 더 나은 PHP 또는 Laravel은 무엇입니까? Mar 27, 2025 pm 05:31 PM

Laravel은 PHP 기반 프레임 워크이기 때문에 PHP와 Laravel은 직접 비교할 수 없습니다. 1.PHP는 소규모 프로젝트 또는 빠른 프로토 타이핑에 적합하고 간단하고 직접적이기 때문에 적합합니다. 2. Laravel은 대규모 프로젝트 또는 효율적인 개발에 적합하지만 풍부한 기능과 도구를 제공하지만 가파른 학습 곡선을 가지고 있으며 순수한 PHP만큼 좋지 않을 수 있습니다.

Laravel은 프론트 엔드 또는 백엔드입니까? Laravel은 프론트 엔드 또는 백엔드입니까? Mar 27, 2025 pm 05:31 PM

laravelisabackendframeworkbuiltonphp, 디자인 된 forwebapplicationdevelopment.itfocusesonserver-sidelogic, databasemanagement, andapplicationtructure, and canbeintegratedwithfrontendechnologies likevue.jsorreactforfull-stackdevelopment.

Laravel 사용자 로그인 기능 Laravel 사용자 로그인 기능 Apr 18, 2025 pm 12:48 PM

Laravel provides a comprehensive Auth framework for implementing user login functions, including: Defining user models (Eloquent model), creating login forms (Blade template engine), writing login controllers (inheriting Auth\LoginController), verifying login requests (Auth::attempt) Redirecting after login is successful (redirect) considering security factors: hash passwords, anti-CSRF protection, rate limiting and security 헤더. 또한 Auth Framework는 비밀번호 재설정, 이메일 등록 및 확인과 같은 기능도 제공합니다. 자세한 내용은 Laravel 문서를 참조하십시오 : https://laravel.com/doc

Laravel6 실제 전투 비디오 Laravel6 실제 전투 비디오 Apr 18, 2025 pm 12:36 PM

Laravel 6을 배우려면 Laracasts (권장), 공식 문서 및 YouTube에서 비디오 자습서를 얻을 수 있습니다. 추천 과정에는 Laracasts의 "초보자부터의 Laravel 6"및 공식 팀이 제작 한 "공식 Laravel 6 튜토리얼"이 포함됩니다. 비디오 과정을 선택할 때 기술 수준, 교육 스타일, 프로젝트 경험 및 업데이트 빈도를 고려하십시오.

Laravel을 배우는 방법 무료로 LaRavel을 배우는 방법 Laravel을 배우는 방법 무료로 LaRavel을 배우는 방법 Apr 18, 2025 pm 12:51 PM

Laravel 프레임 워크를 배우고 싶지만 자원이나 경제적 압력이 없습니까? 이 기사는 Laravel의 무료 학습을 제공하며 온라인 플랫폼, 문서 및 커뮤니티 포럼과 같은 리소스를 사용하여 PHP 개발 여정을 시작하는 것에서 마스터까지의 탄탄한 토대를 마련하는 방법을 가르쳐줍니다.

See all articles