Laravel est un excellent framework d'application Web dont la structure flexible et la richesse des fonctionnalités en font le premier choix de nombreux développeurs. Dans Laravel, spécifier des champs signifie sélectionner uniquement certains champs, pas tous les champs, lors de l'exploitation de la base de données. Ceci est utile dans de nombreuses situations, par exemple : si vous ne vous souciez que de certaines données de la table et ne souhaitez pas interroger toutes les données, ou si les résultats de la requête sont volumineux et que les performances doivent être améliorées.
Dans cet article, nous présenterons comment spécifier des champs dans Laravel, vous permettant d'exploiter la base de données de manière plus flexible et d'améliorer les performances de votre application.
select()
pour spécifier les champsselect()
方法指定字段Laravel的查询构造器提供了一个select()
方法,可用于指定要选择的字段。该方法接受一个或多个参数,参数可以是一个字符串,包含要选择的字段名称的逗号分隔列表,也可以是多个字符串,每个字符串表示一个要选择的字段。以下是使用select()方法指定字段的示例代码:
$users = DB::table('users')->select('id', 'name', 'email')->get();
在上面的示例中,我们在select()
方法中传递了'id', 'name', 'email'
参数,表示只选择表中的这三个字段。get()
方法用于执行查询并返回查询结果。
$fillable
属性如果您使用的是Laravel的模型(Model),则可以使用模型的$fillable
属性来指定要允许进行批量赋值的字段。这样,当您调用模型的create()
或update()
方法时,只有在$fillable
属性中指定的字段才会被赋值。以下是使用$fillable
属性指定字段的示例代码:
class User extends Model { protected $fillable = ['name', 'email', 'password']; }
在上面的示例中,我们使用$fillable
属性指定了三个字段:name
、email
和password
。如果您调用模型的create()
方法并传递这三个字段的值,这些值将自动保存到数据库。
$guarded
属性与$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()
方法指定单个字段如果您只需要查询表中单个字段的值,可以使用查询构建器的pluck()
方法。该方法接受一个参数,参数表示您要查询的字段名称。以下是使用pluck()
方法指定单个字段的示例代码:
$name = DB::table('users')->where('id', 1)->pluck('name');
在上面的示例中,我们使用where()
方法过滤出id
等于1的记录,并使用pluck()
方法选择name
Le générateur de requêtes de Laravel fournit une méthode select()
qui peut être utilisée pour spécifier les champs souhaités Champs sélectionnés. Cette méthode accepte un ou plusieurs paramètres, qui peuvent être une chaîne contenant une liste de noms de champs à sélectionner séparés par des virgules, ou plusieurs chaînes, chaque chaîne représentant un champ à sélectionner. Vous trouverez ci-dessous un exemple de code pour spécifier les champs à l'aide de la méthode select() :
Dans l'exemple ci-dessus, nous avons transmis 'id', 'name', ' dans l'e-mail de la méthode <code>select()
'Paramètre, indiquant que seuls ces trois champs de la table sont sélectionnés. La méthode get()
est utilisée pour exécuter des requêtes et renvoyer les résultats des requêtes.
Utilisez l'attribut $fillable
du modèle
create()
ou update()
du modèle, seuls les champs spécifiés dans l'attribut $fillable
seront Assignation. . Voici l'exemple de code pour spécifier les champs à l'aide de l'attribut $fillable
: 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons spécifié trois champs à l'aide de l'attribut $fillable
: nom
, email
et mot de passe
. Si vous appelez la méthode create()
du modèle et transmettez les valeurs de ces trois champs, ces valeurs seront automatiquement enregistrées dans la base de données. 🎜$guarded
du modèle$fillable
, le modèle de Laravel An un attribut appelé $guarded
est également fourni, qui peut être utilisé pour spécifier les champs qui ne peuvent pas être modifiés via une affectation groupée. Si vous spécifiez l'attribut $guarded
, lorsque vous appelez la méthode create()
ou update()
du modèle pour une affectation par lots, n'incluez pas $guarded. Voici un exemple de code pour spécifier un champ à l'aide de l'attribut $guarded
: 🎜rrreee🎜Dans cet exemple, nous utilisons l'attribut $guarded
pour spécifier l'id
, created_at
et updated_at
, ces champs seront exclus lors de l'affectation par lots. 🎜pluck()
pour spécifier un seul champpluck()
de l'implémenteur. Cette méthode accepte un paramètre qui représente le nom du champ que vous souhaitez interroger. Voici l'exemple de code pour spécifier un seul champ à l'aide de la méthode pluck()
: 🎜rrreee🎜 Dans l'exemple ci-dessus, nous utilisons la méthode where()
pour filtrer le id est égal à 1 enregistrement et utilise la méthode <code>pluck()
pour sélectionner la valeur du champ name
. Cette requête renvoie une chaîne contenant la valeur du champ spécifié. 🎜🎜Résumé🎜🎜Ci-dessus sont les quatre méthodes de spécification des champs dans Laravel. En utilisant les méthodes ci-dessus, vous pouvez exploiter la base de données de manière plus flexible et améliorer les performances des applications. Quelle que soit la méthode que vous choisissez, lorsque vous interrogez de grandes quantités de données, interroger uniquement les champs dont vous avez besoin est une bonne pratique et peut réduire considérablement le volume de transfert de données et le temps d'exécution des requêtes. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!