ארטיקלען

וואָס איז Laravel Eloquent, ווי צו נוצן עס, טוטאָריאַל מיט ביישפילן

די Laravel PHP פריימווערק כולל Eloquent Object Relational Mapper (ORM), וואָס גיט אַ גאָר גרינג וועג צו יבערגעבן מיט אַ דאַטאַבייס. 

Laravel און Eloquent העלפֿן צו פאַרגיכערן אַפּלאַקיישאַן און פּלאַטפאָרמע אַנטוויקלונג, פּראַוויידינג אַ טויגן לייזונג צו רובֿ פּראָבלעמס. רעקווירעמענץ זענען גערעדט מיט פאַסטער אַנטוויקלונג, ווי געזונט-אָרגאַניזירט, ריוזאַבאַל, מאַינטאַבאַל און סקאַלאַבלע קאָד. 

ווי עלאַקאַנט אַרבעט

דעוועלאָפּערס קענען אַרבעטן אין Eloquent מיט קייפל דאַטאַבייסיז יפישאַנטלי ניצן אַן אַקטיוומעטהאָד ימפּלאַמענטיישאַן. עס איז אַן אַרקאַטעקטשעראַל מוסטער ווו די מאָדעל באשאפן אין די מאָדעל-View-קאָנטראָללער (MVC) סטרוקטור קאָראַספּאַנדז צו אַ טיש אין די דאַטאַבייס. די מייַלע איז אַז די מאָדעלס דורכפירן פּראָסט דאַטאַבייס אַפּעריישאַנז אָן קאָודינג לאַנג סקל קוויריז. טעמפּלאַטעס לאָזן איר צו אָנפֿרעג דאַטן אין טישן און אַרייַנלייגן נייַ רעקאָרדס אין טישן. דער פּראָצעס פון סינגקראַנייזינג קייפל דאַטאַבייסיז פליסנדיק אויף פאַרשידענע סיסטעמען איז סימפּלאַפייד. איר טאָן ניט דאַרפֿן צו שרייַבן SQL קוויריז. כל איר האָבן צו טאָן איז defiענדיקן די דאַטאַבייס טישן און די באַציונגען צווישן זיי, און Eloquent וועט טאָן די מנוחה פון די אַרבעט.

לאַראַוועל צוגרייטונג

אַפּרישיייטינג די נוצן פון Eloquent ORM און פֿאַרשטיין די יקאָוסיסטאַם איז אַ מוזן. סטעפּס צו אָנהייבן:

  1. ינסטאַלירן Laravel פֿון getcomposer.org, צו טאָן דאָס, נאָכגיין די ינסטראַקשאַנז דאָ
  2. שאַפֿן migration ניצן די קאַנסאָול Artisan
  3. שאַפֿן טעמפּלאַטעס eloquent
  4. לויפן i seed פון די דאַטאַבייס

Artisan Console איז דער נאָמען פון די באַפֿעלן שורה צובינד אַרייַנגערעכנט אין לאַראַוועל. פּראָווידעס אַ סכום פון נוציק קאַמאַנדז צו נוצן בשעת דעוועלאָפּינג דיין אַפּלאַקיישאַן. עס איז געטריבן דורך די שטאַרק קאָמפּאָנענט Symfony Console.

צו זען אַ רשימה פון אַלע בנימצא אַרטיסאַן קאַמאַנדז, איר קענען נוצן די רשימה באַפֿעל:

php artisan list

אַלע קאַמאַנדז קומען מיט אַ קאַנסייס באַשרייַבונג פון זייַן אַרגומענטן און אָפּציעס. דאָס איז געוויזן אין אַ "הילף" פאַרשטעלן. צו ווייַזן אַ הילף פאַרשטעלן, פשוט פאָרויס די באַפֿעל נאָמען מיט "הילף" ווי געוויזן:

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', און האט צוויי מעטהאָדס: אַרויף און אַראָפּ. די אַרויף אופֿן זאָל מאַכן ענדערונגען צו די דאַטאַבייס; אַזוי ווען איר מייגרייט דיין דאַטאַבייס, קיין קאָד אין די אַרויף אופֿן וועט זיין עקסאַקיוטאַד. אויף די אנדערע האַנט, די אַראָפּ אופֿן זאָל צוריקקריגן די דאַטאַבייס ענדערונגען; אַזוי ווען איר לויפן די rollback פון migration, דער אַראָפּ אופֿן זאָל ופמאַכן וואָס די אַרויף אופֿן האט. ין דער שיטה up עס איז די סטשעמאַ בילדער געניצט צו שאַפֿן און מאַניפּולירן די טישן. וואָס כאַפּאַנז אויב איר באָטל מאַכן עטלעכע פון ​​דיין מייגריישאַנז? כל איר האָבן צו טאָן איז ינסטרומענט די פאלגענדע באַפֿעל:

php artisan migrate:rollback

און ער וועט קלייַבן די לעצטע איינער migration וואָס איז ימפּלאַמענאַד. אויך, איר קענען גאָר ומקערן די דאַטאַבייס דורך פליסנדיק:

php artisan migrate:reset

דאָס וועט באָטל מאַכן אַלע דיין מייגריישאַנז.

Defiדי נומער פון מאָדעלס Eloquent

נאָך די דאַטאַבייס מיגראַטיאָן איז גאַנץ, דער ווייַטער פּראָצעס איז די seedingEloquent קומט אין שפּיל זינט די 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

סעעדערס

קוילעלדיק סידערס זענען אַ ספּעציעל גאַנג פון קלאסן וואָס לאָזן אונדז צו באַפעלקערן אונדזער דאַטאַבייס איבער און איבער ווידער מיט די פּינטלעך זעלביקער דאַטן. מיר ינסטרומענט די פאלגענדע באַפֿעל:

php artisan make:seeder StudentsRecordSeeder

אין די טעקסט רעדאַקטאָר, אונטער די זאמען טעקע, עפענען די ניי באשאפן טעקע מיט טעקע נאָמען: StudentsRecordSeeder.php. ווי איר קענען זען, דאָס איז נאָר אַ זייער פּשוט קלאַס מיט אַ איין אופֿן גערופן run().

<?php
use IlluminateDatabaseSeeder;

class StudentsRecordSeeder extends Seeder
{
    /**
    * Run the database seeds
    * @return void
    */

    public function run()
    {
        //
    }
}

דער קאָד איז בלויז אַ ראַפּער אַרום אַ קאַנסאָול באַפֿעלן קלאַס, ספּאַסיפיקלי געבויט צו העלפן מיט די אַרבעט פון seeding. רעדאַגירן די קאָד און דעמאָלט ראַטעווען עס.

כידעש נוזלעטער
דו זאלסט נישט פאַרפירן די מערסט וויכטיק נייַעס וועגן כידעש. צייכן אַרויף צו באַקומען זיי דורך E- בריוו.
public function run()
{
    echo 'Seeding!';
}

און גיין צו די וואָקזאַל:

php artisan db:seed --class=StudentsRecordSeeder

איצט איר קענען באַפעלקערן די טיש מיט עטלעכע איינסן און לויפן:

php artisan db:seed --class=class=StudentsRecordSeeder

דאָ איר קענען האַלטן דיליטינג, אַדינג, מאַדאַפייינג איינסן אין די דב, און ריסטאָרינג זיי מיט אַ פּשוט באַפֿעל.

CRUD מיט Laravel Eloquent

CRUD אַפּעריישאַנז מיט Laravel Eloquent אָבדזשעקט-ריליישאַנאַל מאַפּפּער (ORM) מאַכן עס גרינגער פֿאַר Laravel דעוועלאָפּערס צו אַרבעטן מיט קייפל דאַטאַבייסיז. עס פּערפאָרמז שאַפֿן, לייענען, דערהייַנטיקן און ויסמעקן (CRUD) אַפּעריישאַנז, און מאַפּס כייפעץ מאָדעלס צו דאַטאַבייס טישן. האַנדלט אַלע דייטאַבייס ינטעראַקשאַנז פארלאנגט פֿאַר CRUD אַפּעריישאַנז.

שאַפונג פון רעקאָרדס

איר קענט נוצן דעם :: שאַפֿן אופֿן צו אַרייַנלייגן אַ נייַע רעקאָרד אין די דאַטאַבייס.

student_record::create(array(
    'first_name' => 'John',
    'last_name'  => 'Doe',
    'student_rank' => 1
));

אין אַדישאַן צו די פּשוט שאַפונג אופֿן געוויזן אויבן, איר קענען אויך שאַפֿן אַ נייַע כייפעץ און געבן עס פאַרשידענע אַטריביוץ. דערנאָך איר קענען רופן די היט () פֿונקציע און לויפן די קאָד. מעטהאָדס ווי firstOrCreate() אָ firstOrNew() זענען אנדערע אָפּציעס פֿאַר קריייטינג רעקאָרדס. דאָס וועט לאָזן איר צו געפֿינען אַ תּלמיד מיט זיכער אַטריביוץ; אויב דער תּלמיד איז ניט געפֿונען, איר וועט מאַכן עס אין די דאַטאַבייס אָדער ינסטאַנטייט אַ נייַע בייַשפּיל.

לייענען רעקאָרדס

ניצן Eloquent ORM, איר קענען געפֿינען רעקאָרדס אין דיין דאַטאַבייס. די פֿראגן זענען פשוט קאַנסטראַקטאַד און פאָרשלאָגן אַ גלאַט לויפן. צו שאַפֿן סטייטמאַנץ::where, איר וועט נוצן די מעטהאָדס get() און first(). דער שיטה first() וועט נאָר צוריקקומען איין רעקאָרד, בשעת דער אופֿן get() וועט צוריקקומען אַ לופּאַבלע מענגע פון ​​רעקאָרדס. אויך די שיטה find() קענען זיין געוויינט מיט אַ מענגע פון ​​ערשטיק קיז, וואָס וועט צוריקקומען אַ זאַמלונג פון וואָס ריכטן רעקאָרדס. דאָ זענען עטלעכע ביישפילן:

$student = Students::all();

דעם קאָד געץ אַלע סטודענטן. בשעת די פאלגענדע קאָד געפינט אַ ספּעציפיש תּלמיד דורך שייַן:

$ תּלמיד = סטודענטן:: געפֿינען (1);

אויך, ווי געוויזן אונטן, די קאָד באשרייבט זוכן פֿאַר אַ תּלמיד באזירט אויף אַ ספּעציפיש אַטריביוט.

$JohnDoe = Students::where('name', '=', 'John Doe')->first();

פֿאַר די באַקומען () אופֿן, דעם קאָד ווייזט ווי צו געפֿינען אַ תּלמיד מיט אַ מדרגה העכער 5.

$rankStudents = Student::where('student_rank', '>', 5)->get();
רעקאָרד דערהייַנטיקן

אַפּדייטינג רעקאָרדס ניצן עלאַקווענט איז פּונקט ווי פּשוט. צו דערהייַנטיקן אַ רעקאָרד, נאָר געפֿינען די רעקאָרד איר ווילן צו דערהייַנטיקן, רעדאַגירן די אַטריביוץ און ראַטעווען. פֿאַר בייַשפּיל, צו טוישן די מיינונג מדרגה פון יוחנן דאָו ס תּלמיד צו 5, ערשטער געפֿינען דעם תּלמיד און דעמאָלט ויספירן די ראַטעווען אופֿן.

$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();

די היט אופֿן קענען אויך זיין געוויינט צו דערהייַנטיקן מאָדעלס וואָס שוין עקסיסטירן אין די דאַטאַבייס.

ויסמעקן רעקאָרדס

עלאַקוואַנט באָוס פון זיין גרינג רעקאָרד אַפּדייטינג פּראָצעס, אָבער עס האט די זעלבע געשיכטע מיט דילישאַן. עס זענען צוויי אָפּציעס: ציען-אויס רעקאָרדס און ויספירן די ויסמעקן אופֿן, אָדער פשוט נוצן די צעשטערן אופֿן. צו געפֿינען און ויסמעקן אַ רעקאָרד, פשוט לויפן די פאלגענדע קאַמאַנדז:

$student = Students::find(1);
$student->delete();

צו ויסמעקן אַ רעקאָרד און קייפל רעקאָרדס, די קאַמאַנדז זענען לויפן:

Students::destroy(1);
Students::destroy(1, 2, 3);

באַמערקונג אַז די פּאַראַמעטערס פון צעשטערן זענען בלויז ערשטיק שליסלען ניט ענלעך די ויסמעקן אופֿן וואָס קענען אָננעמען קיין דאַטאַבייס זייַל.

צו געפֿינען און ויסמעקן אַלע סטודענטן העכער מדרגה 10.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
כידעש נוזלעטער
דו זאלסט נישט פאַרפירן די מערסט וויכטיק נייַעס וועגן כידעש. צייכן אַרויף צו באַקומען זיי דורך E- בריוו.

לעצטע ארטיקלען

Veeam פֿעיִקייטן די מערסט פולשטענדיק שטיצן פֿאַר ראַנסאָמוואַרע, פֿון שוץ צו ענטפער און אָפּזוך

Coveware דורך Veeam וועט פאָרזעצן צו צושטעלן ענטפער באַדינונגס פֿאַר סייבער יקסטאָרשאַן אינצידענט. קאָוועוואַרע וועט פאָרשלאָגן פאָרענסיקס און רימעדייישאַן קייפּאַבילאַטיז ...

קסנומקס אפריל קסנומקס

גרין און דיגיטאַל רעוואלוציע: ווי פּרידיקטיוו וישאַלט איז טראַנספאָרמינג די אָיל און גאַז אינדוסטריע

פּרידיקטיוו וישאַלט איז רעוואַלושאַנייזינג די ייל & גאַז סעקטאָר, מיט אַן ינאַווייטיוו און פּראָואַקטיוו צוגאַנג צו פאַבריק פאַרוואַלטונג.…

קסנומקס אפריל קסנומקס

וק אַנטיטראַסט רעגולאַטאָר רייזאַז ביגטעטש שרעק איבער GenAI

די UK CMA האט ארויס אַ ווארענונג וועגן ביג טעק ס נאַטור אין די קינסטלעך סייכל מאַרק. דאָרט…

קסנומקס אפריל קסנומקס

Casa Green: ענערגיע רעוואָלוציע פֿאַר אַ סאַסטיינאַבאַל צוקונפֿט אין איטאליע

די "קאַסע גרין" דעקרעט, פארמולירט דורך די אייראפעישע יוניאַן צו פאַרבעסערן די ענערגיע עפעקטיווקייַט פון בנינים, האט פארענדיקט זיין לעגיסלאַטיווע פּראָצעס מיט ...

קסנומקס אפריל קסנומקס

לייענען כידעש אין דיין שפּראַך

כידעש נוזלעטער
דו זאלסט נישט פאַרפירן די מערסט וויכטיק נייַעס וועגן כידעש. צייכן אַרויף צו באַקומען זיי דורך E- בריוו.

גיי אונדז