laravel에서 필드를 지정하는 방법

PHPz
풀어 주다: 2023-04-12 09:50:39
원래의
1096명이 탐색했습니다.

Laravel은 유연한 구조와 풍부한 기능 세트를 갖춘 탁월한 웹 애플리케이션 프레임워크로 많은 개발자가 가장 먼저 선택합니다. Laravel에서 필드를 지정한다는 것은 데이터베이스를 운영할 때 모든 필드가 아닌 특정 필드만 선택하는 것을 의미합니다. 이는 많은 상황에서 유용합니다. 예를 들어 테이블의 일부 데이터에만 관심이 있고 모든 데이터를 쿼리하고 싶지 않은 경우 또는 쿼리 결과가 크고 성능을 향상해야 하는 경우입니다.

이 글에서는 Laravel에서 필드를 지정하여 데이터베이스를 보다 유연하게 운영하고 애플리케이션 성능을 향상시키는 방법을 소개합니다.

  1. 필드를 지정하려면 select() 메서드를 사용하세요.
select()方法指定字段

Laravel的查询构造器提供了一个select()方法,可用于指定要选择的字段。该方法接受一个或多个参数,参数可以是一个字符串,包含要选择的字段名称的逗号分隔列表,也可以是多个字符串,每个字符串表示一个要选择的字段。以下是使用select()方法指定字段的示例代码:

$users = DB::table('users')->select('id', 'name', 'email')->get();
로그인 후 복사

在上面的示例中,我们在select()方法中传递了'id', 'name', 'email'参数,表示只选择表中的这三个字段。get()方法用于执行查询并返回查询结果。

  1. 使用模型的$fillable属性

如果您使用的是Laravel的模型(Model),则可以使用模型的$fillable属性来指定要允许进行批量赋值的字段。这样,当您调用模型的create()update()方法时,只有在$fillable属性中指定的字段才会被赋值。以下是使用$fillable属性指定字段的示例代码:

class User extends Model
{
    protected $fillable = ['name', 'email', 'password'];
}
로그인 후 복사

在上面的示例中,我们使用$fillable属性指定了三个字段:nameemailpassword。如果您调用模型的create()方法并传递这三个字段的值,这些值将自动保存到数据库。

  1. 使用模型的$guarded属性

$fillable属性相反的是,Laravel的模型还提供了一个名为$guarded的属性,可以用于指定不允许通过批量赋值进行更改的字段。如果您指定了 $guarded 属性,则在调用模型的 create()update() 方法进行批量赋值时,不包含 $guarded 属性中指定的字段。以下是使用 $guarded 属性指定字段的示例代码:

class User extends Model
{
    protected $guarded = ['id', 'created_at', 'updated_at'];
}
로그인 후 복사

在这个例子中,我们使用 $guarded 属性指定了 idcreated_atupdated_at 字段,这些字段在进行批量赋值时将被排除。

  1. 使用pluck()方法指定单个字段

如果您只需要查询表中单个字段的值,可以使用查询构建器的pluck()方法。该方法接受一个参数,参数表示您要查询的字段名称。以下是使用pluck()方法指定单个字段的示例代码:

$name = DB::table('users')->where('id', 1)->pluck('name');
로그인 후 복사

在上面的示例中,我们使用where()方法过滤出id等于1的记录,并使用pluck()方法选择nameLaravel의 쿼리 빌더는 필드를 지정하는 데 사용할 수 있는 select() 메서드를 제공합니다. 원하는 필드 선택한 필드. 이 메소드는 선택할 필드 이름의 쉼표로 구분된 목록을 포함하는 문자열 또는 선택할 필드를 나타내는 각 문자열인 여러 문자열일 수 있는 하나 이상의 매개변수를 허용합니다. 다음은 select() 메서드를 사용하여 필드를 지정하는 샘플 코드입니다.

rrreee

위의 예에서는 select() 메서드 이메일에 'id', 'name', '를 전달했습니다. ' 매개변수는 테이블에서 이 세 개의 필드만 선택되었음을 나타냅니다. get() 메서드는 쿼리를 실행하고 쿼리 결과를 반환하는 데 사용됩니다.

    모델의 $fillable 속성을 ​​사용하세요

라라벨의 모델(Model)을 사용하신다면 해당 모델의 를 사용하시면 됩니다. $fillable 속성을 ​​사용하여 대량 할당을 허용하는 필드를 지정합니다. 이렇게 하면 모델의 create() 또는 update() 메서드를 호출할 때 $fillable 속성에 지정된 필드만 할당이 됩니다. . 다음은 $fillable 속성을 ​​사용하여 필드를 지정하는 샘플 코드입니다. 🎜rrreee🎜위 예에서는 $fillable 속성을 ​​사용하여 세 개의 필드를 지정했습니다. 이름 , 이메일비밀번호. 모델의 create() 메소드를 호출하고 이 세 필드의 값을 전달하면 이 값이 자동으로 데이터베이스에 저장됩니다. 🎜
    🎜모델의 $guarded 속성을 ​​사용하세요
🎜$fillable 속성의 반대인 Laravel의 모델 An $guarded라는 속성도 제공됩니다. 이 속성은 대량 할당을 통해 변경이 허용되지 않는 필드를 지정하는 데 사용할 수 있습니다. $guarded 속성을 ​​지정하는 경우 일괄 할당을 위해 모델의 create() 또는 update() 메서드를 호출할 때 $guarded 속성에 지정된 필드입니다. 다음은 $guarded 속성을 ​​사용하여 필드를 지정하는 예제 코드입니다. 🎜rrreee🎜이 예제에서는 $guarded 속성을 ​​사용하여 id를 지정합니다. , created_atupdated_at 필드는 일괄 할당 중에 제외됩니다. 🎜
    🎜단일 필드를 지정하려면 pluck() 메서드를 사용하세요.
🎜단일 필드의 값만 쿼리해야 하는 경우 테이블에서 구현자의 pluck() 메서드 쿼리 작성을 사용할 수 있습니다. 이 메소드는 쿼리하려는 필드의 이름을 나타내는 매개변수를 허용합니다. 다음은 pluck() 메서드를 사용하여 단일 필드를 지정하는 샘플 코드입니다. 🎜rrreee🎜 위의 예에서는 where() 메서드를 사용하여 id는 1개의 레코드와 동일하며 pluck() 메서드를 사용하여 name 필드의 값을 선택합니다. 이 쿼리는 지정된 필드의 값이 포함된 문자열을 반환합니다. 🎜🎜Summary🎜🎜위는 Laravel에서 필드를 지정하는 네 가지 방법입니다. 위의 방법을 사용하면 데이터베이스를 보다 유연하게 운영하고 애플리케이션 성능을 향상시킬 수 있습니다. 어떤 방법을 선택하든 관계없이 대량의 데이터를 쿼리할 때는 필요한 필드만 쿼리하는 것이 좋으며 데이터 전송량과 쿼리 실행 시간을 크게 줄일 수 있습니다. 🎜

위 내용은 laravel에서 필드를 지정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿