Το Laravel και το Eloquent βοηθούν στην επιτάχυνση της ανάπτυξης εφαρμογών και πλατφόρμας, παρέχοντας μια επαρκή λύση στα περισσότερα προβλήματα. Οι απαιτήσεις αντιμετωπίζονται με ταχύτερη ανάπτυξη, καθώς και με καλά οργανωμένο, επαναχρησιμοποιήσιμο, συντηρήσιμο και επεκτάσιμο κώδικα.
Οι προγραμματιστές μπορούν να εργαστούν σε Eloquent
με πολλαπλές βάσεις δεδομένων αποτελεσματικά χρησιμοποιώντας μια υλοποίηση ActiveMethod. Είναι ένα αρχιτεκτονικό μοτίβο όπου το μοντέλο που δημιουργήθηκε στη δομή Model-View-Controller (MVC) αντιστοιχεί σε έναν πίνακα στη βάση δεδομένων. Το πλεονέκτημα είναι ότι τα μοντέλα εκτελούν κοινές λειτουργίες βάσης δεδομένων χωρίς να κωδικοποιούν μεγάλα ερωτήματα SQL. Τα πρότυπα σάς επιτρέπουν να ρωτάτε δεδομένα σε πίνακες και να εισάγετε νέες εγγραφές σε πίνακες. Η διαδικασία συγχρονισμού πολλαπλών βάσεων δεδομένων που εκτελούνται σε διαφορετικά συστήματα είναι απλοποιημένη. Δεν χρειάζεται να γράψετε ερωτήματα SQL. Το μόνο που έχετε να κάνετε είναι defiΟλοκληρώστε τους πίνακες της βάσης δεδομένων και τις σχέσεις μεταξύ τους και το Eloquent θα κάνει την υπόλοιπη δουλειά.
Η εκτίμηση της χρησιμότητας του Eloquent ORM και η κατανόηση του οικοσυστήματος είναι απαραίτητη. Βήματα για να ξεκινήσετε:
migration
χρησιμοποιώντας την κονσόλα Artisan
eloquent
seed
της βάσης δεδομένωνArtisan Console
είναι το όνομα της διεπαφής γραμμής εντολών που περιλαμβάνεται στο Laravel. Παρέχει ένα σύνολο χρήσιμων εντολών για χρήση κατά την ανάπτυξη της εφαρμογής σας. Οδηγείται από το ισχυρό εξάρτημα Symfony Console
.
Για να δείτε μια λίστα με όλες τις διαθέσιμες εντολές Artisan, μπορείτε να χρησιμοποιήσετε την εντολή λίστας:
php artisan list
Όλες οι εντολές συνοδεύονται από μια συνοπτική περιγραφή των επιχειρημάτων και των επιλογών τους. Αυτό εμφανίζεται σε μια οθόνη "βοήθειας". Για να εμφανίσετε μια οθόνη βοήθειας, απλώς προηγείστε το όνομα της εντολής με το "help" όπως φαίνεται:
php artisan help migrate
Migration
Η μετεγκατάσταση είναι μια διαδικασία διαχείρισης βάσης δεδομένων με την εγγραφή της PHP SQL
. Παρέχει έναν τρόπο προσθήκης ελέγχου έκδοσης στη βάση δεδομένων.
Για να δημιουργήσετε μια μετεγκατάσταση, απλώς εκτελέστε την ακόλουθη εντολή:
php artisan make:migration create_student_records
Αυτό δημιουργεί το αρχείο μετεγκατάστασης. Στο πρόγραμμα επεξεργασίας κειμένου, ανοίξτε το αρχείο που μόλις δημιουργήσατε στο φάκελο database\migrations
:
<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;
class CreateStudentRecordsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('student__records', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('student__records');
}
}
Ο κωδικός είναι μια τάξη με το ίδιο όνομα 'create student records
», και έχει δύο μεθόδους: πάνω και κάτω. Η μέθοδος up θα πρέπει να κάνει αλλαγές στη βάση δεδομένων. Έτσι, κάθε φορά που κάνετε μετεγκατάσταση της βάσης δεδομένων σας, οποιοσδήποτε κώδικας στη μέθοδο up θα εκτελείται. Από την άλλη πλευρά, η μέθοδος κάτω θα πρέπει να επαναφέρει αυτές τις αλλαγές στη βάση δεδομένων. έτσι όποτε τρέχετε το rollback
του migration
, η μέθοδος κάτω θα πρέπει να αναιρέσει αυτό που έκανε η μέθοδος επάνω. Μέσα στη μέθοδο up
υπάρχει το πρόγραμμα δημιουργίας σχημάτων που χρησιμοποιείται για τη δημιουργία και το χειρισμό των πινάκων. Τι θα συμβεί αν ακυρώσετε ορισμένες από τις μετεγκαταστάσεις σας; Το μόνο που έχετε να κάνετε είναι να εφαρμόσετε την ακόλουθη εντολή:
php artisan migrate:rollback
Και θα μαζέψει το τελευταίο migration
που έχει εφαρμοστεί. Επίσης, μπορείτε να επαναφέρετε πλήρως τη βάση δεδομένων εκτελώντας:
php artisan migrate:reset
Αυτό θα ακυρώσει όλες τις μετεγκαταστάσεις σας.
Eloquent
Αφού ολοκληρωθεί η μετεγκατάσταση της βάσης δεδομένων, η επόμενη διαδικασία είναι η seeding
. Eloquent
μπαίνει στο παιχνίδι από την seeding
εισάγει εγγραφές στη βάση δεδομένων μας. Επομένως, θα χρειαστεί να δημιουργήσετε τα πρότυπα πριν συμπληρώσετε τη βάση δεδομένων. Κάθε πίνακας βάσης δεδομένων έχει ένα αντίστοιχο μοντέλο που χρησιμοποιείται για την αλληλεπίδραση με αυτόν τον πίνακα. Τα πρότυπα σάς επιτρέπουν να ρωτάτε τα δεδομένα στους πίνακές σας, καθώς και να εισάγετε νέες εγγραφές στον πίνακα. Ο ευκολότερος τρόπος για να δημιουργήσετε το μοντέλο είναι να χρησιμοποιήσετε την ακόλουθη εντολή:
php artisan make:model Student
Ένα παράδειγμα προτύπου φαίνεται παρακάτω Student
, το οποίο μπορεί να χρησιμοποιηθεί για την ανάκτηση και αποθήκευση πληροφοριών από τον πίνακα βάσης δεδομένων του μαθητή μας:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Όταν δημιουργείτε ένα μοντέλο και ταυτόχρονα θέλετε να δημιουργήσετε μια μετεγκατάσταση βάσης δεδομένων, μπορείτε να χρησιμοποιήσετε την επιλογή –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Το Overall Seders είναι ένα ειδικό σύνολο κλάσεων που μας επιτρέπουν να συμπληρώνουμε τη βάση δεδομένων μας ξανά και ξανά με τα ίδια ακριβώς δεδομένα. Υλοποιούμε την ακόλουθη εντολή:
php artisan make:seeder StudentsRecordSeeder
Στο πρόγραμμα επεξεργασίας κειμένου, κάτω από το φάκελο seeds, ανοίξτε το νέο αρχείο με όνομα αρχείου: StudentsRecordSeeder.php
. Όπως μπορείτε να δείτε, αυτή είναι απλώς μια πολύ απλή κλάση με μια μόνο μέθοδο που ονομάζεται run
().
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Ο κώδικας είναι απλώς ένα περιτύλιγμα γύρω από μια κλάση εντολών κονσόλας, ειδικά κατασκευασμένο για να βοηθά με την εργασία του seeding
. Επεξεργαστείτε τον κώδικα και μετά αποθηκεύστε τον.
public function run()
{
echo 'Seeding!';
}
Και πηγαίνοντας στο τερματικό:
php artisan db:seed --class=StudentsRecordSeeder
Τώρα μπορείτε να συμπληρώσετε τον πίνακα με μερικές καταχωρήσεις και να εκτελέσετε:
php artisan db:seed --class=class=StudentsRecordSeeder
Εδώ μπορείτε να συνεχίσετε να διαγράφετε, να προσθέτετε, να τροποποιείτε καταχωρήσεις στο DB και στη συνέχεια να τις επαναφέρετε με μια απλή εντολή.
Οι λειτουργίες CRUD με το Laravel Eloquent object-relational mapper (ORM) διευκολύνουν τους προγραμματιστές Laravel να εργάζονται με πολλές βάσεις δεδομένων. Εκτελεί λειτουργίες δημιουργίας, ανάγνωσης, ενημέρωσης και διαγραφής (CRUD) και αντιστοιχίζει μοντέλα αντικειμένων σε πίνακες βάσης δεδομένων. Χειρίζεται όλες τις αλληλεπιδράσεις βάσης δεδομένων που απαιτούνται για λειτουργίες CRUD.
Μπορείτε να χρησιμοποιήσετε τη μέθοδο ::create για να εισαγάγετε μια νέα εγγραφή στη βάση δεδομένων.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Εκτός από την απλή μέθοδο δημιουργίας που φαίνεται παραπάνω, μπορείτε επίσης να δημιουργήσετε ένα νέο αντικείμενο και να του δώσετε διαφορετικά χαρακτηριστικά. Στη συνέχεια, μπορείτε να καλέσετε τη συνάρτηση αποθήκευσης () και να εκτελέσετε τον κώδικα. Μέθοδοι όπως firstOrCreate
() ή firstOrNew
() είναι άλλες επιλογές για τη δημιουργία εγγραφών. Αυτά θα σας επιτρέψουν να βρείτε έναν μαθητή με ορισμένα χαρακτηριστικά. Εάν αυτός ο μαθητής δεν βρεθεί, θα τον δημιουργήσετε στη βάση δεδομένων ή θα δημιουργήσετε ένα νέο στιγμιότυπο.
Χρησιμοποιώντας το Eloquent ORM, μπορείτε να βρείτε εγγραφές στη βάση δεδομένων σας. Τα ερωτήματα είναι απλά κατασκευασμένα και προσφέρουν ομαλή ροή. Για να δημιουργήσετε δηλώσεις:where
, θα χρησιμοποιήσετε τις μεθόδους get
() Και first
(). Η μέθοδος first
() θα επιστρέψει μόνο μία εγγραφή, ενώ η μέθοδος get
() θα επιστρέψει μια σειρά εγγραφών με δυνατότητα loop. Επίσης, η μέθοδος find
() μπορεί να χρησιμοποιηθεί με μια σειρά από πρωτεύοντα κλειδιά, τα οποία θα επιστρέψουν μια συλλογή από αντίστοιχες εγγραφές. Να μερικά παραδείγματα:
$student = Students::all();
Αυτός ο κωδικός παίρνει όλους τους μαθητές. Ενώ ο παρακάτω κώδικας βρίσκει έναν συγκεκριμένο μαθητή με αναγνωριστικό:
$student = Students::find(1);
Επίσης, όπως φαίνεται παρακάτω, ο κώδικας περιγράφει την αναζήτηση ενός μαθητή με βάση ένα συγκεκριμένο χαρακτηριστικό.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Για τη μέθοδο get(), αυτός ο κώδικας δείχνει πώς να βρείτε έναν μαθητή με επίπεδο πάνω από 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Η ενημέρωση των εγγραφών χρησιμοποιώντας το Eloquent είναι εξίσου εύκολη. Για να ενημερώσετε μια εγγραφή, απλώς βρείτε την εγγραφή που θέλετε να ενημερώσετε, επεξεργαστείτε τα χαρακτηριστικά και αποθηκεύστε. Για παράδειγμα, για να αλλάξετε το επίπεδο βαθμού του μαθητή του John Doe σε 5, βρείτε πρώτα τον μαθητή και, στη συνέχεια, εκτελέστε τη μέθοδο αποθήκευσης.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Η μέθοδος αποθήκευσης μπορεί επίσης να χρησιμοποιηθεί για την ενημέρωση μοντέλων που υπάρχουν ήδη στη βάση δεδομένων.
Το Eloquent μπορεί να υπερηφανεύεται για την εύκολη διαδικασία ενημέρωσης των αρχείων του, αλλά έχει την ίδια ιστορία με τη διαγραφή. Υπάρχουν δύο επιλογές: pull-out εγγραφές και εκτέλεση της μεθόδου διαγραφής ή απλά χρησιμοποιήστε τη μέθοδο καταστροφής. Για να βρείτε και να διαγράψετε μια εγγραφή, απλώς εκτελέστε τις ακόλουθες εντολές:
$student = Students::find(1);
$student->delete();
Για να διαγράψετε μια εγγραφή και πολλές εγγραφές, εκτελούνται οι εντολές:
Students::destroy(1);
Students::destroy(1, 2, 3);
Σημειώστε ότι οι παράμετροι καταστροφής είναι μόνο πρωτεύοντα κλειδιά σε αντίθεση με τη μέθοδο διαγραφής που μπορεί να δεχθεί οποιαδήποτε στήλη βάσης δεδομένων.
Για να βρείτε και να διαγράψετε όλους τους μαθητές πάνω από το επίπεδο 10.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Η ανάπτυξη λεπτών κινητικών δεξιοτήτων μέσω του χρωματισμού προετοιμάζει τα παιδιά για πιο σύνθετες δεξιότητες όπως η γραφή. Να χρωματίσω…
Ο ναυτικός τομέας είναι μια πραγματική παγκόσμια οικονομική δύναμη, η οποία έχει προσανατολιστεί προς μια αγορά 150 δισεκατομμυρίων...
Την περασμένη Δευτέρα, οι Financial Times ανακοίνωσαν συμφωνία με το OpenAI. Η FT αδειοδοτεί την παγκόσμιας κλάσης δημοσιογραφία της…
Εκατομμύρια άνθρωποι πληρώνουν για υπηρεσίες ροής, πληρώνοντας μηνιαίες συνδρομές. Είναι κοινή γνώμη ότι…