Das Paket laravel-attributes
ist ein Tool, das Laravel-Entwicklern dabei helfen soll, benutzerdefinierte Attribute einfach in ihren Projekten zu verwalten und zu implementieren. Es ermöglicht Ihnen, Attribute direkt in Eloquent-Modellen zu definieren, wodurch die Handhabung dynamischer oder berechneter Eigenschaften einfacher wird, ohne das Datenbankschema direkt zu ändern. Mit diesem Paket können Sie Attributsätze für Modelle erstellen und konfigurieren und so die Datenverarbeitung in Laravel-Anwendungen einfacher organisieren und erweitern. Dies ist besonders nützlich für Projekte, die anpassbare und flexible Datenmodelle erfordern.
Sie haben keinen Stress mit Attributen! Sie können Attribute für jedes Modell erstellen und anzeigen, z. B. Trinkwasser :)
PHP: ^8.0
Laravel Framework: ^9.0
Attribute | L9 | L10 |
---|---|---|
1,0 | ✅ | ✅ |
composer require milwad/laravel-attributes
Nach der Veröffentlichung der Konfigurationsdateien.
php artisan vendor:publish --provider= " MilwadLaravelAttributesLaravelAttributesServiceProvider "
Nach der Veröffentlichung migrieren Sie die Migrationsdatei.
php artisan migrate
Zuerst verwenden Sie das Merkmal im Modell.
<?php
namespace App Models ;
use Illuminate Database Eloquent Factories HasFactory ;
use Illuminate Database Eloquent Model ;
use Milwad LaravelAttributes Traits Attributable ;
class Product extends Model
{
use HasFactory, Attributable;
}
Danach haben Sie Zugriff auf attributes
usw.
Wenn Sie einem Modell ein Attribut hinzufügen möchten, können Sie die Methode attachAttribute
verwenden.
Die Methode attachAttribute
nimmt einen title
und value
an.
$ product = Product:: query ()-> create ([
' name ' => ' milwad ' ,
' content ' => ' laravel attributes ' ,
]);
$ product -> attachAttribute ( ' age ' , ' 17 ' );
Wenn Sie über mehrere Attribute verfügen, können Sie die Methode attachAttributes
verwenden, um Attribute für ein Modell zu speichern.
$ product = Product:: query ()-> create ([
' name ' => ' milwad ' ,
' content ' => ' text ' ,
]);
$ data = [
[
' title ' => ' milwad ' ,
' value ' => ' developer ' ,
],
[
' title ' => ' milwad2 ' ,
' value ' => ' developer2 ' ,
],
[
' title ' => ' milwad3 ' ,
' value ' => ' developer3 ' ,
],
[
' title ' => ' milwad4 ' ,
' value ' => ' developer4 ' ,
],
[
' title ' => ' milwad5 ' ,
' value ' => ' developer5 ' ,
],
[
' title ' => ' milwad6 ' ,
' value ' => ' developer6 ' ,
],
];
$ product -> attachAttributes ( $ data );
Wenn Sie Attribute aus einer Beziehung abrufen möchten, können Sie attributes
verwenden.
$ product = Product:: query ()-> with ( ' attributes ' )-> get ();
$ product -> attributes
Vielleicht möchten Sie überprüfen, ob ein Modell einen Attributwert hat. Dazu können Sie die Methode hasAttributeValue
verwenden.
if ( $ product -> hasAttributeValue ( ' 17 ' )) {
return ' attribute value ' ;
}
return ' no attribute value ' ;
Vielleicht möchten Sie überprüfen, ob ein Modell einen Attributtitel hat. Dazu können Sie die Methode hasAttributeTitle
verwenden.
if ( $ product -> hasAttributeTitle ( ' milwad ' )) {
return ' attribute title ' ;
}
return ' no attribute title ' ;
Wenn Sie alle Attribute eines Modells löschen möchten, können Sie die Methode deleteAllAttribute
verwenden.
$ product -> deleteAllAttribute ();
Wenn Sie ein bestimmtes Attribut eines Modells löschen möchten, können Sie die Methode deleteAttribute
verwenden.
$ product -> deleteAttribute ( ' title ' , ' value ' );
Wenn Sie ein bestimmtes Attribut nach Titel löschen möchten, können Sie die Methode deleteAttributeByTitle
verwenden.
Möglicherweise haben Sie zwei Attribute mit demselben Titel. Wenn Sie mit dieser Methode löschen, werden zwei Attribute gelöscht
$ product -> deleteAttributeByTitle ( ' title ' );
Wenn Sie ein bestimmtes Attribut nach Wert löschen möchten, können Sie die Methode deleteAttributeByValue
verwenden.
Möglicherweise haben Sie zwei Attribute mit demselben Wert. Wenn Sie mit dieser Methode löschen, werden zwei Attribute gelöscht
$ product -> deleteAttributeByValue ( ' value ' );
Führen Sie die Tests aus mit:
vendor/bin/pest
composer test
composer test-coverage
Wenn Sie den Namen der Migrationstabelle oder das Standardmodell ändern möchten, können Sie die Konfiguration laravel-attributes
verwenden, die im config
vorhanden ist.
<?php
return [
/*
* Table config
*
* Here it's a config of migrations.
*/
' tables ' => [
/*
* Get table name of migration.
*/
' name ' => ' attributes ' ,
/*
* Use uuid as primary key.
*/
' uuids ' => false , // Also in beta !!!
],
/*
* Model class name for attributes table.
*/
' attributes_model ' => Milwad LaravelAttributes Attribute::class,
];
Dieses Projekt existiert dank aller Menschen, die dazu beitragen. BEITRAGEN
Wenn Sie einen Sicherheitsfehler gefunden haben, senden Sie bitte eine E-Mail an [email protected], anstatt den Issue-Tracker zu verwenden.
Wenn dieses Paket für dich hilfreich ist, kannst du einen Kaffee für mich kaufen :) ❤️
0xf208a562c5a93DEf8450b656c3dbc1d0a53BDE58