Eloque: Modellklassen generieren ist ein Prozess des Erstellens von Modellklassen mit der Datenbanktabelle in Laravel. Verwenden von eloquentem ORM (Objektrelational Mapper) können Sie einfach problemlos Daten aus der Datenbanktabelle lesen, erstellen, aktualisieren und löschen.
Modellklassen werden mit Laravels Artisan CLI erstellt. Führen Sie den Befehl unten aus:
php artisan make:model ModelName
zum Beispiel, um einen Beitrag mit dem Titel "Post" zu erstellen:
php artisan make:model Post
Es wird eine Post.php -Datei im App/Models -Verzeichnis erstellt.
Modell sieht normalerweise so aus:
namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Post extends Model { use HasFactory; }
Verwenden Sie den folgenden Befehl, um das Modell und die Datenbankmigration zusammen zu erstellen:
php artisan make:model Post -m
Es wird zwei Dinge erstellen:
um Modelle mit Fabrik- und Seedlerdateien zu erstellen:
php artisan make:model Post -mfsc
Laravel -Modell erfasst den Namen der Datenbanktabelle mit dem Namen der Klasse.
EG:
Wenn Sie eine benutzerdefinierte Tabelle verwenden möchten, setzen Sie $ Table -Eigenschaften für das Modell:
class Post extends Model { protected $table = 'blog_posts'; }
$ filable oder $ Guarded wird verwendet, um zu bestimmen, welches Feld in die Datenbank eingefügt werden kann.
class Post extends Model { protected $fillable = ['title', 'content']; }
class Post extends Model { protected $guarded = ['id']; }
Wenn etwas anderes als die primäre Schlüssel -ID in Ihrer Tabelle ist:
class Post extends Model { protected $primaryKey = 'post_id'; }
Laravel verwendet die Tabelle, um die Spalte zu erstellen und updatated_at als Standard. Wenn Sie sie nicht verwenden wollen:
class Post extends Model { public $timestamps = false; }
Modelle können bei der Verwendung von eloquenten Beziehungen miteinander verbunden werden.
public function user() { return $this->hasOne(User::class); }
public function comments() { return $this->hasMany(Comment::class); }
public function tags() { return $this->belongsToMany(Tag::class); }
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3