laravel database migrations
Αυτό το σεμινάριο εξηγεί το χειρισμό βάσεων δεδομένων Laravel, Migrations, Seeding, Raw SQL Queries, Eloquent Models, Eloquent Relationships, Artisan και Tinker:
Στο προηγούμενο σεμινάριο του Εκπαιδευτική σειρά Laravel , μάθαμε για την αρχιτεκτονική, την εγκατάσταση και τα στοιχεία του Laravel Framework. Έχουμε δει λεπτομερώς τη Δομή Έργου PHP του Laravel.
Σε αυτό το σεμινάριο, θα καλύψουμε τη βάση δεδομένων Laravel, Migrations, Seeding, Running Raw SQL Queries, Eloquent Models, Eloquent Relationships, Artisan και Tinker. Έχουμε χρησιμοποιήσει την έκδοση 7 του Laravel σε όλα τα παραδείγματα.
Τι θα μάθετε:
Αλληλεπίδραση βάσης δεδομένων Laravel
Το Laravel Framework αλληλεπιδρά με βάσεις δεδομένων χρησιμοποιώντας ακατέργαστη SQL, ο άπταιστος δημιουργός ερωτημάτων, και το Έγγραφο ORM . Υποστηρίζει τις ακόλουθες τέσσερις βάσεις δεδομένων.
- MySQL έκδοση 5.6+
- PostgreSQL (Postgres) έκδοση 9.4+
- Έκδοση SQLite 3.8.8+
- Έκδοση SQL Server 2017+
Βήματα για τη σύνδεση του έργου σας με τη βάση δεδομένων MySQL:
Βήμα 1: Δημιούργησε ένα νέο βάση δεδομένων ονομάστηκε db_ ακαδημία (μπορείτε να χρησιμοποιήσετε οποιοδήποτε κατάλληλο όνομα) μέσω phpMyadmin ή HeidiSQL .
Βήμα 2: Δημιουργήστε ένα νέο έργο με το όνομα ακαδημία (μπορείτε να χρησιμοποιήσετε οποιοδήποτε κατάλληλο όνομα).
Σημείωση:Ανατρέξτε στο προηγούμενο σεμινάριό μας, το Laravel Tutorial for Beginners 1, εάν δεν γνωρίζετε πώς να εγκαταστήσετε το Laravel και να δημιουργήσετε ένα νέο έργο.
Βήμα # 3: Ανοίξτε το έργο σε IDE και ανοίξτε το .env αρχείο. Αλλάξτε την τιμή του DB_DATABASE (όνομα βάσης δεδομένων) έως db_ ακαδημία (μπορείτε να χρησιμοποιήσετε οποιοδήποτε κατάλληλο όνομα). Και τα δύο όνομα βάσης δεδομένων και η τιμή του DB_DATABASE στο .env το αρχείο πρέπει να είναι το ίδιο.
Σημείωση : Ίσως χρειαστεί να αλλάξετε άλλες παραμέτρους βάσης δεδομένων στο αρχείο .env όπως DB_USERNAME, DB_PASSWOD κ.λπ. ανάλογα με τη διαμόρφωση της βάσης δεδομένων σας.
Το παρακάτω στιγμιότυπο οθόνης δείχνει τη διαμόρφωση της βάσης δεδομένων στο αρχείο .env.
Μετεγκαταστάσεις Laravel
Το Laravel Migration είναι ένα ειδικό χαρακτηριστικό που χρησιμοποιείται για τη δημιουργία πίνακα βάσεων δεδομένων. Από προεπιλογή, το xxxx_xx_xx_xxxxxx _create_users_table.php αρχείο και το xxxx_xx_xx_xxxxxx _create_failed_jobs_table.php περιλαμβάνονται το αρχείο.
Δομή μιας μετανάστευσης Laravel
Η κλάση Laravel Migration χρησιμοποιεί τις ακόλουθες δύο μεθόδους:
- Η μέθοδος up (): Αυτή η μέθοδος χρησιμοποιείται για τη δημιουργία ενός νέου πίνακα, στήλης ή ευρετηρίου στη βάση δεδομένων.
- Η μέθοδος down (): Αυτή η μέθοδος χρησιμοποιείται για την απόθεση ενός υπάρχοντος πίνακα, στήλης ή ευρετηρίου στη βάση δεδομένων. Αυτή η μέθοδος είναι η αντίθετη μέθοδος της μεθόδου up ().
Δημιουργία μετεγκατάστασης Laravel
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να δημιουργήσετε μια μετεγκατάσταση που ονομάζεται create_tutors_table .
php artisan make:migrationcreate_tutors_table
Η εκτέλεση της παραπάνω εντολής θα δημιουργήσει ένα αρχείο με το όνομα xxxx_xx_xx_xxxxxx_create_tutors_table.php στο βάση δεδομένων / μετεγκαταστάσεις Ευρετήριο.
Ανοιξε το xxxx_xx_xx_xxxxxx_create_tutors_table.php αρχείο και τροποποιήστε τον υπάρχοντα κώδικα όπως φαίνεται παρακάτω.
id(); $table->string('name'); $table->string('subject'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('tutors'); } }
Εκτελείτε μεταναστεύσεις Laravel
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να εκτελέσετε όλες τις διαθέσιμες μετεγκαταστάσεις.
php artisan migrate
Η παραπάνω εντολή θα δημιουργήσει τους σχετικούς πίνακες στη βάση δεδομένων όπως φαίνεται παρακάτω.
Μετατροπές μετεγκατάστασης
# 1) Επιστροφή στην τελευταία παρτίδα μετεγκαταστάσεων
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να επαναφέρετε το τελευταία παρτίδα μετεγκαταστάσεων (μπορεί να περιλαμβάνει μεμονωμένες ή πολλαπλές μετεγκαταστάσεις).
php artisan migrate:rollback
# 2) Μετακίνηση μετεγκατάστασης που παρέχει το βήμα
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να επαναφέρετε το δύο τελευταίες μεταναστεύσεις .
php artisan migrate:rollback --step=2
# 3) Επιστροφή όλων των μετακινήσεων της εφαρμογής
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να επαναφορά όλων των μετακινήσεων της εφαρμογής.
php artisan migrate:reset
# 4) Επιστροφή και μετεγκατάσταση χρησιμοποιώντας μία μόνο εντολή
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να επαναφορά και μετεγκατάσταση χρησιμοποιώντας μία μόνο εντολή.
php artisan migrate:refresh
# 5) Rolling Back και Migrate περιορισμένο αριθ. μεταναστεύσεων
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να επαναφορά και μετεγκατάσταση των δύο τελευταίων μετεγκαταστάσεων χρησιμοποιώντας μία μόνο εντολή.
php artisan migrate:refresh --step=2
# 6) Αποθέστε όλους τους πίνακες και μετεγκαταστήστε
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να ρίξτε όλους τους πίνακες και πραγματοποιήστε μετεγκατάσταση .
php artisan migrate:fresh
Σπορά Laravel
Όταν αναπτύσσετε μια εφαρμογή, χρειάζεστε δεδομένα για να ελέγξετε την εφαρμογή. Η σπορά χρησιμοποιείται για την εισαγωγή δεδομένων δοκιμής στη βάση δεδομένων.
Δημιουργία Seeder
Βήμα 1: Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να δημιουργήσετε ένα seeder που ονομάζεται UserSeeder .
php artisan make:seederUserSeeder
Αυτή η εντολή θα δημιουργήσει ένα αρχείο με το όνομα UserSeeder.php στο βάση δεδομένων / σπόροι Ευρετήριο.
Βήμα 2: Ανοιξε το UserSeeder.php αρχείο και τροποποιήστε τον υπάρχοντα κώδικα όπως φαίνεται παρακάτω.
insert(( 'name' => Str::random(5), 'email' => Str::random(5).'@user.com', 'password' => Hash::make('password'), )); } }
Βήμα 3: Ανοιξε το Αρχείο DatabaseSeeder.php στο βάση δεδομένων / σπόροι κατάλογο και τροποποιήστε τον υπάρχοντα κώδικα όπως φαίνεται παρακάτω.
call(UserSeeder::class); } }
Σημείωση : Ο DatabaseSeeder Η τάξη χρησιμοποιείται για την κλήση άλλων κατηγοριών σπόρων.
Τρέχοντας Seeders
Βήμα 1: Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να αναδημιουργήστε τον αυτόματο φορτωτή του Συνθέτη .
composer dump-autoload
Βήμα 2: Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να εκτελέσετε το DatabaseSeeder τάξη.
php artisan db:seed
Αντί να εκτελέσετε την παραπάνω εντολή, μπορείτε να εκτελέσετε την ακόλουθη εντολή στη γραμμή εντολών για να εκτελέσετε το UserSeeder τάξη.
php artisan db:seed --class= UserSeeder
Σημείωση : Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να ρίξτε όλους τους πίνακες και εκτελέστε ξανά όλες τις μετεγκαταστάσεις .
php artisan migrate:fresh --seed
Βήμα 3: Επαληθεύστε τα εισαγόμενα δεδομένα με τη βάση δεδομένων.
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοια όπως παρακάτω:
Εκτέλεση Raw SQL Queries
Εκτέλεση ερωτήματος εισαγωγής
Βήμα 1: Προσθέστε το ακόλουθο τμήμα κώδικα στο διαδρομές / web.php αρχείο για να εισαγάγετε μια νέα εγγραφή στο καθηγητές τραπέζι.
Route::get('/insert', function () { DB::insert('insert into tutors(name,subject) values(?,?)',('Mr John','Computer Science')); });
Βήμα 2: Επισκεφθείτε τη διεύθυνση URL: http: //academy.test/insert
Βήμα 3: Επαληθεύστε τα εισαγόμενα δεδομένα με τη βάση δεδομένων.
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοιο με το παρακάτω στιγμιότυπο οθόνης.
Εκτέλεση ερωτήματος επιλογής
Βήμα 1: Προσθέστε το ακόλουθο τμήμα κώδικα στο διαδρομές / web.php αρχείο για να ανακτήσετε δεδομένα από το καθηγητές πίνακα που έχει ένα ταυτότητα Ισούται με δύο .
Route::get('/select',function(){ $tutors=DB::select('select * from tutors where id=?',(1)); foreach($tutors as $tutor) { echo $tutor->name.' is teaching '.$tutor->;subject; } });
Βήμα 2: Επισκεφθείτε τη διεύθυνση URL: http: /academy.test/select
Βήμα 3: Το πρόγραμμα περιήγησης θα εμφανίσει έξοδο παρόμοιο με το παρακάτω στιγμιότυπο οθόνης.
Εκτέλεση ερωτήματος ενημέρωσης
Βήμα 1: Προσθέστε το ακόλουθο τμήμα κώδικα στο διαδρομές / web.php αρχείο για να ενημερώσετε την εγγραφή στο καθηγητές πίνακα που έχει ένα ταυτότητα Ισούται με 1 .
Route::get('/update', function(){ $tutors=DB::update('update tutors set name='Mr. Brown' where id=?',(1)); return $tutors; });
Βήμα 2: Επισκεφθείτε την ακόλουθη διεύθυνση URL: http: //academy.test/update
Βήμα 3: Επαληθεύστε τα ενημερωμένα δεδομένα με τη βάση δεδομένων.
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοια με την παρακάτω εικόνα:
Εκτέλεση ερωτήματος διαγραφής
Βήμα 1: Προσθέστε το ακόλουθο τμήμα κώδικα στο διαδρομές / web.php αρχείο για να διαγράψετε την εγγραφή στο καθηγητές πίνακα που έχει ένα ταυτότητα Ισούται με 1 .
Route::get('/delete',function(){ $tutors=DB::delete('delete from tutors where id=?',(1)); return $tutors; });
Βήμα 2: Επισκεφθείτε τη διεύθυνση URL: http: //academy.test/delete
Βήμα 3: Επαληθεύστε τα διαγραμμένα δεδομένα με τη βάση δεδομένων.
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοια με την παρακάτω εικόνα:
Laravel Eloquent Μοντέλα
Στην αρχιτεκτονική MVC, ο χαρακτήρας Μ σημαίνει Μοντέλο . Ένα μοντέλο χειρίζεται τα δεδομένα που χρησιμοποιούνται από την εφαρμογή. Όλα τα μοντέλα αποθηκεύονται στο εφαρμογή Ευρετήριο. ο Χρήστης μοντέλο ( User.php) είναι το προεπιλεγμένο μοντέλο. Κάθε πίνακας της βάσης δεδομένων μπορεί να έχει ένα αντίστοιχο μοντέλο Eloquent. Για παράδειγμα, δάσκαλος Το μοντέλο αποθηκεύει δεδομένα στο καθηγητές τραπέζι.
Σημείωση: Το πληθυντικό όνομα της τάξης θα χρησιμοποιηθεί ως όνομα πίνακα εκτός εάν ορίζεται διαφορετικά.
Δημιουργία ενός εύγλωττου μοντέλου
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να δημιουργήσετε ένα μοντέλο με το όνομα Παιδαγωγός .
php artisan make:model Tutor
Αυτή η εντολή θα δημιουργήσει ένα αρχείο με το όνομα Εκπαιδευτής.php στο εφαρμογή Ευρετήριο.
Αντί για την παραπάνω εντολή, μπορείτε να εκτελέσετε την ακόλουθη εντολή στη γραμμή εντολών για να δημιουργήσετε ένα μετεγκατάσταση βάσης δεδομένων κατά τη δημιουργία του μοντέλου.
php artisan make:modelTutor --migration
Ή
php artisan make:modelTutor -m
Και οι δύο παραπάνω εντολές θα παρέχουν την ίδια έξοδο.
Εισαγωγή δεδομένων
Βήμα 1: Προσθέστε το ακόλουθο τμήμα κώδικα στο διαδρομές / web.php αρχείο για να εισαγάγετε μια νέα εγγραφή στο καθηγητές τραπέζι.
λογισμικό αντιγραφής dvd για windows 10
Route::get('/insert-data',function(){ $tutor=new Tutor; $tutor->name='Mr George'; $tutor->subject='Mathematics'; $tutor->save(); });
Σημείωση : Βάλτε το χαρακτηριστικό ' χρησιμοποιήστε το App Tutor ' στο διαδρομές / web.php αρχείο όπως φαίνεται παρακάτω.
Βήμα 2: Επισκεφθείτε την ακόλουθη διεύθυνση URL: http: //academy.test/insert-data
Βήμα 3: Επαληθεύστε τα εισαγόμενα δεδομένα με τη βάση δεδομένων.
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοια με την παρακάτω εικόνα:

Βρείτε δεδομένα
Βήμα 1: Προσθέστε το ακόλουθο τμήμα κώδικα στο διαδρομές / web.php αρχείο για να βρείτε / ανακτήσετε την εγγραφή στο καθηγητές πίνακα που έχει ένα ταυτότητα Ισούται με δύο .
Route::get('/find-data',function(){ $tutor=Tutor::find(2); return $tutor->name; });
Βήμα 2: Επισκεφθείτε την ακόλουθη διεύθυνση URL: http: //academy.test/find-data
Βήμα 3: Το πρόγραμμα περιήγησης θα εμφανίσει έξοδο παρόμοια με την παρακάτω εικόνα:

Ενημέρωση δεδομένων
Βήμα 1: Προσθέστε το ακόλουθο τμήμα κώδικα στο διαδρομές / web.php αρχείο για να ενημερώσετε την εγγραφή στο καθηγητές πίνακα που έχει ένα ταυτότητα Ισούται με δύο .
Route::get('/update-data',function(){ $tutor=Tutor::find(2); $tutor->name='Ms Georgina'; $tutor->subject='Computer Science'; $tutor->save(); });
ή
Route::get('/update-data',function(){ Tutor::where('id',2)-> update(('name'=>'Ms Georgina','subject'=>'Computer Science')); });
Βήμα 2: Επισκεφθείτε την ακόλουθη διεύθυνση URL: http: //academy.test/update-data
Βήμα 3: Επαληθεύστε τα ενημερωμένα δεδομένα με τη βάση δεδομένων.
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοια με την παρακάτω εικόνα:

Διαγραφή δεδομένων
Βήμα 1: Προσθέστε το ακόλουθο τμήμα κώδικα στο διαδρομές / web.php αρχείο για να διαγράψετε την εγγραφή στο καθηγητές πίνακα που έχει ένα ταυτότητα Ισούται με δύο .
Route::get('/delete-data',function(){ $tutor=Tutor::find(2); $tutor->delete(); });
Βήμα 2: Επισκεφθείτε την ακόλουθη διεύθυνση URL: http: //academy.test/delete-data
Βήμα 3: Επαληθεύστε τα διαγραμμένα δεδομένα με τη βάση δεδομένων.
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοια με την παρακάτω εικόνα:

Απαλή διαγραφή δεδομένων
Αντί να διαγράφει δεδομένα από τη βάση δεδομένων, η μαλακή διαγραφή ορίζει ένα χαρακτηριστικό που ονομάζεται διαγράφηκε στο μοντέλο και τοποθετήστε το στον πίνακα βάσης δεδομένων.
Χρησιμοποιήστε το ακόλουθο χαρακτηριστικό για να ενεργοποιήσετε τη μαλακή διαγραφή.
Φωτισμός Βάση δεδομένων Eloquent SoftDeletes
Το ακόλουθο τμήμα κώδικα μπορεί να χρησιμοποιηθεί για την απαλή διαγραφή δεδομένων.
Route::get('/soft-delete-data',function(){ Tutor::find(1)->delete(); });
Λήψη δεδομένων Soft Delete
ο με Κάδος απορριμμάτων () μέθοδος μπορεί να χρησιμοποιηθεί για λήψη μαλακών δεδομένων διαγραφής όπως φαίνεται παρακάτω.
Route::get('/read-soft-delete-data',function(){ $tutor=Tutor::withTrashed()->where('id',1)->get(); return $tutor; });
Επαναφορά Soft Delete Data
ο επαναφέρω() μέθοδος μπορεί να χρησιμοποιηθεί για επαναφορά δεδομένων μαλακής διαγραφής όπως φαίνεται παρακάτω.
Route::get('/restore-data',function(){ Tutor::withTrashed()->where('id',1)->restore(); });
Διαγραφή δεδομένων μόνιμα
ο forceDelete () μέθοδος μπορεί να χρησιμοποιηθεί για διαγραφή δεδομένων μόνιμα όπως φαίνεται παρακάτω.
Route::get('/force-delete-data',function(){ Tutor::onlyTrashed()->forceDelete(); });
Laravel Eloquent Σχέσεις
Μια εύγλωττη σχέση βοηθά στην εύκολη σύνδεση πινάκων βάσεων δεδομένων.
Τύποι εύγλωττων σχέσεων
Η παρακάτω λίστα δείχνει τους διαφορετικούς τύπους εύγλωττων σχέσεων:
- Σχέση ένας προς έναν
- Σχέση από ένα προς πολλά
- Σχέση μεταξύ πολλών και πολλών
- Έχουμε μια-μοναδική σχέση
- Έχει σχέση πολλών διαστάσεων
- Σχέση «ένα προς ένα» (πολυμορφικό)
- Σχέση από ένα προς πολλά (πολυμορφικά)
- Πολλές προς πολλές (πολυμορφικές) σχέσεις
# 1) Σχέση «One-to-One»
Περιγραφή: Είναι η σχέση ένας προς έναν μεταξύ των στηλών διαφορετικών πινάκων.
Παράδειγμα σχέσης ένας προς έναν:
hasOne('AppBook); } }
Παράδειγμα σχέσης ένας προς έναν (αντίστροφο):
belongsTo('App Author); } }
# 2) Σχέση One-to-Many
Περιγραφή: Σε αυτόν τον τύπο σχέσης, ένα μοντέλο κατέχει οποιονδήποτε αριθμό άλλων μοντέλων.
Παράδειγμα σχέσης «ένα προς πολλά»:
hasMany('AppReview'); } }
Παράδειγμα σχέσης «ένα προς πολλά» (αντίστροφο):
belongsTo('AppTutorial'); } }
# 3) Σχέση μεταξύ πολλών και πολλών
Περιγραφή: Είναι μια πιο περίπλοκη σχέση από τις σχέσεις one-to-one & one-to-many και πρέπει να δημιουργήσετε έναν συγκεντρωτικό πίνακα για να ορίσετε μια τέτοια σχέση.
Παράδειγμα σχέσεων μεταξύ πολλών:
belongsToMany('AppBook); } }
Παράσταση πολλά προς πολλά (αντίστροφη) Παράδειγμα:
belongsToMany('AppAuthor); } }
# 4) Σχέση Has-One-Through
Περιγραφή: Συνδέει μοντέλα μέσω μιας μόνο ενδιάμεσης σχέσης.
Παράδειγμα σχέσης Has-one-through:
hasOneThrough('AppOwner', 'AppCar'); } }
# 5) Έχει πολλές σχέσεις
Περιγραφή: Επιτρέπει την πρόσβαση σε απομακρυσμένες ή ενδιάμεσες σχέσεις με μια εύκολη μέθοδο.
ποιο είναι το καλύτερο anti spyware
Έχει ένα παράδειγμα σχέσης με πολλά:
hasManyThrough('AppBook, 'AppAuthor); } }
# 6) Σχέση One-to-One (Polymorphic)
Περιγραφή: Είναι παρόμοιο με μια σχέση ένας προς έναν, αλλά το μοντέλο-στόχος μπορεί να ανήκει σε περισσότερους από έναν τύπους μοντέλων σε έναν συσχετισμό.
Παράδειγμα σχέσης «ένα προς ένα» (πολυμορφικό):
morphTo(); } } class Article extends Model { /** * Get the article's image. */ public function image() { return $this->morphOne('AppImage', 'imageable'); } } class Author extends Model { /** * Get the author's image. */ public function image() { return $this->morphOne('AppImage', 'imageable'); }
# 7) Σχέση One-to-Many (Polymorphic)
Περιγραφή: Είναι παρόμοιο με τη σχέση «ένα προς πολλά», αλλά το μοντέλο-στόχος μπορεί να ανήκει σε περισσότερους από έναν τύπους μοντέλων σε μία μόνο συσχέτιση.
Παράδειγμα σχέσης «ένα προς πολλά» (πολυμορφικά):
morphTo(); } } class Article extends Model { /** * Get all of the article's comments. */ public function comments() { return $this->morphMany('AppComment', 'commentable'); } } class Audio extends Model { /** * Get all of the audio’s comments. */ public function comments() { return $this->morphMany('AppComment', 'commentable'); } }
# 8) Σχέση «Πολλά προς Πολλά» (Πολυμορφικά)
Περιγραφή: Σε αυτόν τον τύπο σχέσης, το μοντέλο-στόχος έχει μοναδικές εγγραφές που μπορούν να μοιραστούν μεταξύ των άλλων μοντέλων.
Παράδειγμα σχέσης πολλών προς πολλών (πολυμορφικών):
morphToMany('AppComment, commentable); } }
Τεχνίτης Laravel
Στο προηγούμενο σεμινάριο, το μάθαμε αυτό Τεχνίτης είναι ένα διεπαφή γραμμής εντολών ( CLI ).
Χειροτεχνικές εντολές
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να δείτε όλα τα διαθέσιμα Χειροτεχνικές εντολές .
php artisan
Το παρακάτω στιγμιότυπο οθόνης δείχνει την έξοδο της παραπάνω εντολής.

Ο παρακάτω πίνακας δείχνει μερικές από τις σημαντικές τεχνικές εντολές με τις αντίστοιχες λειτουργίες τους, οι οποίες λαμβάνονται από την έξοδο της παραπάνω εντολής (php artisan).
Εντολή λειτουργικότητα προσωρινή μνήμη: εκκαθάριση Ξεπλύνετε την προσωρινή μνήμη της εφαρμογής βοήθεια Εμφανίζει βοήθεια για μια εντολή λίστα Παραθέτει εντολές μεταναστεύω Εκτελέστε τις μετεγκαταστάσεις βάσης δεδομένων δοκιμή Εκτελέστε τις δοκιμές εφαρμογής γανωματής Αλληλεπιδράστε με την αίτησή σας auth: εκκαθάριση-επαναφορά Εκπλήρωση κωδικών επαναφοράς κωδικού πρόσβασης που έχουν λήξει db: σπόρος Βγάλτε τη βάση δεδομένων με εγγραφές εκδήλωση: λίστα Παραθέστε τα συμβάντα και τους ακροατές της εφαρμογής κλειδί: δημιουργία Ορίστε το κλειδί εφαρμογής make: κανάλι Δημιουργήστε μια νέα τάξη καναλιού make: συστατικό Δημιουργήστε μια νέα κλάση στοιχείων προβολής make: ελεγκτής Δημιουργήστε μια νέα τάξη ελεγκτή make: εκδήλωση Δημιουργήστε μια νέα τάξη εκδηλώσεων μάρκα: εργοστάσιο Δημιουργήστε ένα νέο μοντέλο εργοστασίου make: ακροατής Δημιουργήστε μια νέα τάξη ακροατή εκδηλώσεων δημιουργία: αλληλογραφία Δημιουργήστε μια νέα τάξη email make: middleware Δημιουργήστε μια νέα κλάση middleware make: μετανάστευση Δημιουργήστε ένα νέο αρχείο μετεγκατάστασης make: μοντέλο Δημιουργήστε μια νέα τάξη μοντέλου Eloquent make: ειδοποίηση Δημιουργήστε μια νέα τάξη ειδοποιήσεων make: παρατηρητής Δημιουργήστε μια νέα τάξη παρατηρητών κάνει: πολιτική Δημιουργήστε μια νέα τάξη πολιτικής make: πάροχος Δημιουργήστε μια νέα τάξη παρόχου υπηρεσιών make: πόρος Δημιουργήστε έναν νέο πόρο μάρκα: σπέρ Δημιουργήστε μια νέα τάξη σπόρου make: δοκιμή Δημιουργήστε μια νέα δοκιμαστική τάξη μεταναστεύστε: φρέσκο Αποθέστε όλους τους πίνακες και εκτελέστε ξανά όλες τις μετεγκαταστάσεις migrate: ανανέωση Επαναφέρετε και εκτελέστε ξανά όλες τις μετεγκαταστάσεις migrate: επαναφορά Επιστροφή όλων των μετακινήσεων βάσης δεδομένων migrate: επαναφορά Επιστρέψτε την τελευταία μετεγκατάσταση βάσης δεδομένων ειδοποιήσεις: πίνακας Δημιουργήστε μια μετεγκατάσταση για τον πίνακα ειδοποιήσεων διαδρομή: λίστα Λίστα όλων των καταχωρημένων διαδρομών αποθήκευση: σύνδεσμος Δημιουργήστε τους συμβολικούς συνδέσμους που έχουν διαμορφωθεί για την εφαρμογή
Laravel Tinker
Το Tinker είναι ένα REPL (READ-EVAL-PRINT-LOOP) που σας επιτρέπει να αλληλεπιδράτε με την εφαρμογή στη γραμμή εντολών. Γανωματής αλληλεπιδρά με μια βάση δεδομένων χωρίς εγγραφή διαδρομών.
Χρήση Tinker με το Artisan και περιλαμβάνει από προεπιλογή.
Ενεργοποίηση περιβάλλοντος Tinker
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να ενεργοποιήσετε το περιβάλλον Tinker.
php artisan tinker
Το παρακάτω στιγμιότυπο οθόνης δείχνει την έξοδο της παραπάνω εντολής.

Εισαγωγή δεδομένων με Tinker
Εκτελέστε τις ακόλουθες εντολές στη γραμμή εντολών για να εισαγάγετε μια νέα εγγραφή στο χρήστες τραπέζι.
$user = new AppUser; $user->name = 'User A'; $user->email = 'usera@user.com'; $user->password = 'user123'; $user->save();
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοιο με το παρακάτω στιγμιότυπο οθόνης.

Βρείτε δεδομένα με το Tinker
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να βρείτε / ανακτήσετε την εγγραφή που έχει ταυτότητα ίσο με δύο στο χρήστες τραπέζι.
$user = AppUser::find(2);
Η γραμμή εντολών θα εμφανίσει έξοδο παρόμοια με το παρακάτω στιγμιότυπο οθόνης.

Ενημέρωση δεδομένων με Tinker
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να ενημερώσετε την εγγραφή που έχει ταυτότητα ίσο με δύο στο χρήστες τραπέζι.
$user = AppUser::find(2); $user->name = 'User B'; $user->email = 'userb@user.com'; $user->save();
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοιο με το παρακάτω στιγμιότυπο οθόνης.

Διαγραφή δεδομένων με Tinker
Εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών για να διαγράψετε την εγγραφή που έχει ταυτότητα ίσο με δύο στο χρήστες τραπέζι.
$user = AppUser::find(2); $user->delete();
Η βάση δεδομένων θα εμφανίζει έξοδο παρόμοιο με το παρακάτω στιγμιότυπο οθόνης.

συμπέρασμα
Το Laravel Framework αλληλεπιδρά με τις βάσεις δεδομένων χρησιμοποιώντας ακατέργαστη SQL, το άπταιστο εργαλείο δημιουργίας ερωτημάτων και το Eloquent ORM. Ένα μοντέλο χειρίζεται τα δεδομένα που χρησιμοποιούνται από την εφαρμογή. Μια εύγλωττη σχέση βοηθά στην εύκολη σύνδεση πινάκων βάσεων δεδομένων.
Η μετεγκατάσταση είναι ένα ειδικό χαρακτηριστικό που χρησιμοποιείται για τη δημιουργία πίνακα βάσεων δεδομένων. Η σπορά χρησιμοποιείται για την εισαγωγή δεδομένων δοκιμής στη βάση δεδομένων που είναι πολύ χρήσιμη για τον προγραμματιστή, καθώς ο προγραμματιστής χρειάζεται δεδομένα για τη δοκιμή της εφαρμογής κατά την ανάπτυξη. Το Tinker αλληλεπιδρά με μια βάση δεδομένων χωρίς εγγραφή διαδρομών.
Ελπίζουμε να βρείτε αυτό το σεμινάριο χρήσιμο! Στο επόμενο σεμινάριο, θα συζητήσουμε φόρμες, μεταφόρτωση αρχείων, έλεγχο ταυτότητας, αποστολή email, συνεδρίες κ.λπ.
Καλή μάθηση!
<< PREV Tutorial | ΕΠΟΜΕΝΟ Φροντιστήριο >>
Συνιστώμενη ανάγνωση
- Εκμάθηση συλλογής Laravel και Laravel Forge
- Φόρμες Laravel και κανόνες επικύρωσης με παράδειγμα
- Συνεδρία Laravel, Μεταφόρτωση / Λήψη Αρχείων και Άδειες
- Εκμάθηση PHP Laravel για αρχάριους: Τι είναι το πλαίσιο Laravel
- MongoDB Δημιουργία αντιγράφων ασφαλείας βάσης δεδομένων
- Δοκιμή βάσης δεδομένων με JMeter
- Εκμάθηση βάσης δεδομένων Oracle - Τι είναι η βάση δεδομένων Oracle;
- Κορυφαία 10 εργαλεία σχεδίασης βάσεων δεδομένων για τη δημιουργία σύνθετων μοντέλων δεδομένων