ላራቬል እና ኤሎኩንት አፕሊኬሽንን እና የመድረክን እድገትን ያፋጥናል, ለአብዛኛዎቹ ችግሮች በቂ መፍትሄ ይሰጣል. መስፈርቶች ፈጣን እድገት፣ እንዲሁም በሚገባ በተደራጀ፣ በድጋሚ ጥቅም ላይ ሊውሉ የሚችሉ፣ ሊጠገኑ የሚችሉ እና ሊሰፋ በሚችል ኮድ ይፈታሉ።
ገንቢዎች ሊሰሩ ይችላሉ Eloquent
የActiveMethod ትግበራን በመጠቀም ከበርካታ የውሂብ ጎታዎች ጋር በብቃት። በሞዴል-እይታ-ተቆጣጣሪ (ኤምቪሲ) መዋቅር ውስጥ የተፈጠረው ሞዴል በመረጃ ቋቱ ውስጥ ካለው ሰንጠረዥ ጋር የሚዛመድበት የሕንፃ ንድፍ ነው። ጥቅሙ ሞዴሎቹ ረጅም የ SQL መጠይቆችን ሳያስቀምጡ የተለመዱ የውሂብ ጎታ ስራዎችን ያከናውናሉ. አብነቶች በሰንጠረዦች ውስጥ ውሂብ እንዲጠይቁ እና አዲስ መዝገቦችን ወደ ጠረጴዛዎች እንዲያስገቡ ያስችሉዎታል። በተለያዩ ስርዓቶች ላይ የሚሰሩ ብዙ የውሂብ ጎታዎችን የማመሳሰል ሂደት ቀላል ነው. የ SQL መጠይቆችን መጻፍ አያስፈልግዎትም። ማድረግ ያለብህ ብቻ ነው። defiየመረጃ ቋቱን ሰንጠረዦች እና በመካከላቸው ያለውን ግንኙነት ይጨርሱ እና ኤሎክየንት ቀሪውን ስራ ይሰራል።
የEloquent ORM አገልግሎትን ማድነቅ እና ስነ-ምህዳሩን መረዳት የግድ ነው። ለመጀመር ደረጃዎች፡-
migration
ኮንሶል በመጠቀም Artisan
eloquent
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
ይህ ሁሉንም ስደትዎን ይሰርዛል።
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
አጠቃላይ ዘሪዎቹ የእኛን ዳታቤዝ በተደጋጋሚ በትክክለኛው መረጃ እንድንሞላ የሚያደርጉ ልዩ የመማሪያ ክፍሎች ናቸው። የሚከተለውን ትዕዛዝ እንተገብራለን:
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
. ኮዱን ያርትዑ እና ከዚያ ያስቀምጡት.
public function run()
{
echo 'Seeding!';
}
እና ወደ ተርሚናል መሄድ;
php artisan db:seed --class=StudentsRecordSeeder
አሁን ሰንጠረዡን በአንዳንድ ግቤቶች መሙላት እና ማስኬድ ይችላሉ።
php artisan db:seed --class=class=StudentsRecordSeeder
እዚህ በዲቢ ውስጥ ግቤቶችን መሰረዝ፣ ማከል እና ማሻሻል እና ከዚያ በቀላል ትእዛዝ ወደነበሩበት መመለስ ይችላሉ።
CRUD ከLaravel Eloquent object-relational mapper (ORM) ጋር የሚሰራው የላራቬል ገንቢዎች ከበርካታ የውሂብ ጎታዎች ጋር መስራት ቀላል ያደርገዋል። የመፍጠር፣ የማንበብ፣ የማዘመን እና የመሰረዝ (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();
ይህ ኮድ ሁሉንም ተማሪዎች ይቀበላል. የሚከተለው ኮድ አንድ የተወሰነ ተማሪ በመታወቂያ ሲያገኝ፡
$student = ተማሪዎች :: አግኝ (1);
እንዲሁም፣ ከታች እንደሚታየው፣ ኮዱ በአንድ የተወሰነ ባህሪ ላይ በመመስረት ተማሪን መፈለግን ይገልጻል።
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
ለግጥ() ዘዴ፣ ይህ ኮድ ከ5 በላይ ደረጃ ያለው ተማሪ እንዴት ማግኘት እንደሚቻል ያሳያል።
$rankStudents = Student::where('student_rank', '>', 5)->get();
በEloquent በመጠቀም መዝገቦችን ማዘመን እንዲሁ ቀላል ነው። መዝገብ ለማዘመን፣ ማዘመን የሚፈልጉትን መዝገብ ብቻ ያግኙ፣ ባህሪያቱን ያርትዑ እና ያስቀምጡ። ለምሳሌ የጆን ዶ ተማሪን የውጤት ደረጃ ወደ 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
የአፕል ቪዥን ፕሮ የንግድ ማሳያን በመጠቀም የ ophthalmoplasty ቀዶ ጥገና በካታኒያ ፖሊክሊን…
ጥሩ የሞተር ክህሎቶችን በቀለም ማዳበር ልጆችን እንደ መጻፍ ላሉ ውስብስብ ክህሎቶች ያዘጋጃል። ወደ ቀለም…
የባህር ኃይል ሴክተር ወደ 150 ቢሊዮን ገበያ ያቀና እውነተኛ የአለም ኢኮኖሚ ሃይል ነው።
ባለፈው ሰኞ፣ ፋይናንሺያል ታይምስ ከOpenAI ጋር ስምምነት መደረጉን አስታውቋል። FT አለም አቀፍ ደረጃውን የጠበቀ ጋዜጠኝነትን ፍቃድ ሰጠ…