Laravel は優れた Web アプリケーション フレームワークであり、その柔軟な構造と豊富な機能セットにより、多くの開発者の最初の選択肢となっています。 Laravel では、フィールドの指定とは、データベースを操作するときにすべてのフィールドではなく、特定のフィールドのみを選択することを意味します。これは、テーブル内の一部のデータのみを考慮し、すべてのデータをクエリしたくない場合や、クエリ結果が大きくパフォーマンスを改善する必要がある場合など、多くの状況で役立ちます。
今回は、Laravelでデータベースをより柔軟に運用し、アプリケーションのパフォーマンスを向上させるためのフィールド指定方法を紹介します。
select()
メソッドを使用してフィールドを指定します。 Laravel のクエリビルダーには、select()
メソッドが用意されています。選択するフィールドを指定するために使用されます。このメソッドは 1 つ以上のパラメータを受け入れます。パラメータには、選択するフィールド名のカンマ区切りリストを含む文字列、または各文字列が選択するフィールドを表す複数の文字列を指定できます。以下は、select() メソッドを使用してフィールドを指定するためのサンプル コードです。
$users = DB::table('users')->select('id', 'name', 'email')->get();
上の例では、select()
に 'id', 'name を渡しました。 method '、'email'
パラメータは、テーブル内のこれら 3 つのフィールドのみが選択されていることを示します。 get()
このメソッドは、クエリを実行し、クエリ結果を返すために使用されます。
$fillable
属性を使用しますLaravel のモデル (Model) を使用している場合は、モデルの を使用できます。 $fillable
属性は、一括割り当てを許可するフィールドを指定します。このようにして、モデルの create()
または update()
メソッドを呼び出すと、$fillable
属性で指定されたフィールドのみに値が割り当てられます。以下は、$fillable
属性を使用してフィールドを指定するサンプル コードです。
class User extends Model { protected $fillable = ['name', 'email', 'password']; }
上の例では、$fillable
属性を使用して 3 つのフィールドを指定しました。 # #名前、
電子メール、および
パスワード。モデルの
create() メソッドを呼び出してこれら 3 つのフィールドの値を渡すと、これらの値はデータベースに自動的に保存されます。
属性の使用
$fillable 属性とは対照的に、Laravel のモデルには次の機能もあります。
$guarded という名前の属性を使用して、一括割り当てによる変更が許可されていないフィールドを指定できます。
$guarded 属性を指定した場合、一括割り当てのためにモデルの
create() または
update() メソッドを呼び出すときに
$ は含まれません。 Guarded 属性で指定されたフィールド。
$guarded 属性を使用してフィールドを指定するサンプル コードを次に示します。
class User extends Model { protected $guarded = ['id', 'created_at', 'updated_at']; }
$guarded# を使用して id
を指定しました。 ## 属性、 created_at
および updated_at
フィールド。これらのフィールドはバッチ割り当て中に除外されます。
メソッドを使用できます。このメソッドは、クエリするフィールドの名前を表すパラメータを受け取ります。以下は、pluck()
メソッドを使用して単一のフィールドを指定するサンプル コードです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$name = DB::table('users')->where('id', 1)->pluck('name');</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記の例では、
メソッドを使用して、 id が 1 に等しい
A レコードをフィルターで除外し、pluck()
メソッドを使用して name
フィールドの値を選択します。このクエリは、指定されたフィールドの値を含む文字列を返します。 まとめ
Laravelでフィールドを指定する方法は上記の4つです。上記の方法を使用すると、データベースをより柔軟に運用し、アプリケーションのパフォーマンスを向上させることができます。どの方法を選択するかに関係なく、大量のデータをクエリする場合は、必要なフィールドのみをクエリすることをお勧めします。これにより、データ転送量とクエリ実行時間を大幅に削減できます。
以上がLaravelでフィールドを指定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。