Laravel සහ Eloquent බොහෝ ගැටලු සඳහා ප්රමාණවත් විසඳුමක් ලබා දෙමින් යෙදුම් සහ වේදිකා සංවර්ධනය වේගවත් කිරීමට උපකාරී වේ. අවශ්යතා වේගවත් සංවර්ධනයක් මෙන්ම හොඳින් සංවිධානය කළ, නැවත භාවිත කළ හැකි, නඩත්තු කළ හැකි සහ පරිමාණය කළ හැකි කේතයක් සමඟින් ආමන්ත්රණය කෙරේ.
සංවර්ධකයින්ට වැඩ කළ හැකිය Eloquent
බහු දත්ත සමුදායන් සමඟ කාර්යක්ෂමව ActiveMethod ක්රියාත්මක කිරීමක් භාවිතා කරයි. Model-View-Controller (MVC) ව්යුහයේ නිර්මාණය කරන ලද ආකෘතිය දත්ත සමුදායේ වගුවකට අනුරූප වන වාස්තුවිද්යාත්මක රටාවකි. වාසිය වන්නේ දිගු SQL විමසුම් කේතනය නොකර ආකෘති පොදු දත්ත සමුදා මෙහෙයුම් සිදු කිරීමයි. වගු වල දත්ත විමසීමට සහ වගු තුලට නව වාර්තා ඇතුලත් කිරීමට සැකිලි ඔබට ඉඩ සලසයි. විවිධ පද්ධති මත ධාවනය වන බහු දත්ත සමුදායන් සමමුහුර්ත කිරීමේ ක්රියාවලිය සරල කර ඇත. ඔබට SQL විමසුම් ලිවීමට අවශ්ය නැත. ඔබ කළ යුත්තේ එකම දෙයයි defiදත්ත සමුදා වගු සහ ඒවා අතර සම්බන්ධතා අවසන් කරන්න, ඉතිරි වැඩ Eloquent විසින් සිදු කරනු ඇත.
Eloquent ORM හි උපයෝගීතාව අගය කිරීම සහ පරිසර පද්ධතිය අවබෝධ කර ගැනීම අත්යවශ්ය වේ. ආරම්භ කිරීමට පියවර:
migration
කොන්සෝලය භාවිතා කරමින් Artisan
eloquent
seed
දත්ත සමුදායේArtisan Console
Laravel හි ඇතුළත් විධාන රේඛා අතුරුමුහුණතේ නම වේ. ඔබගේ යෙදුම සංවර්ධනය කිරීමේදී භාවිතා කිරීමට ප්රයෝජනවත් විධාන මාලාවක් සපයයි. එය බලගතු සංරචකය මගින් මෙහෙයවනු ලැබේ Symfony Console
.
පවතින සියලුම ශිල්පීන්ගේ විධාන ලැයිස්තුවක් බැලීමට, ඔබට ලැයිස්තු විධානය භාවිතා කළ හැක:
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 ක්රමයේ ඕනෑම කේතයක් ක්රියාත්මක වේ. අනෙක් අතට, පහළ ක්රමය මඟින් එම දත්ත සමුදා වෙනස්කම් ආපසු හැරවිය යුතුය; එබැවින් ඔබ ධාවනය කරන සෑම විටම rollback
ඩෙල් migration
, up ක්රමය කළ දේ පහළ ක්රමය අහෝසි කළ යුතුය. ක්රමය ඇතුළත 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
සමස්ත seeders යනු අපගේ දත්ත සමුදාය නිවැරදි දත්ත සමඟ නැවත නැවතත් පුරවා ගැනීමට අපට ඉඩ සලසන විශේෂ පන්ති සමූහයකි. අපි පහත විධානය ක්රියාත්මක කරමු:
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
මෙහිදී ඔබට DB හි ඇතුළත් කිරීම් මකා දැමීම, එකතු කිරීම, වෙනස් කිරීම, සරල විධානයකින් ඒවා ප්රතිසාධනය කිරීම දිගටම කරගෙන යා හැක.
Laravel Eloquent object-relational mapper (ORM) සමඟ CRUD මෙහෙයුම් Laravel සංවර්ධකයින්ට බහු දත්ත සමුදායන් සමඟ වැඩ කිරීම පහසු කරයි. එය නිර්මාණය කිරීම, කියවීම, යාවත්කාලීන කිරීම සහ මකා දැමීම (CRUD) මෙහෙයුම් සිදු කරයි, සහ වස්තු ආකෘති දත්ත සමුදා වගු වෙත සිතියම් ගත කරයි. CRUD මෙහෙයුම් සඳහා අවශ්ය සියලුම දත්ත සමුදා අන්තර්ක්රියා හසුරුවයි.
දත්ත ගබඩාවට නව වාර්තාවක් ඇතුළු කිරීමට ඔබට ::create ක්රමය භාවිතා කළ හැක.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
ඉහත පෙන්වා ඇති සරල නිර්මාණ ක්රමයට අමතරව, ඔබට නව වස්තුවක් නිර්මාණය කර එයට විවිධ ගුණාංග ලබා දිය හැකිය. එවිට, ඔබට save() ශ්රිතය අමතා කේතය ක්රියාත්මක කළ හැක. වැනි ක්රම firstOrCreate
() හෝ firstOrNew
() වාර්තා සෑදීම සඳහා වෙනත් විකල්ප වේ. මේවා ඔබට යම් යම් ගුණාංග සහිත ශිෂ්යයෙකු සොයා ගැනීමට ඉඩ සලසයි; එම ශිෂ්යයා සොයාගත නොහැකි නම්, ඔබ එය දත්ත සමුදාය තුළ නිර්මාණය කරනු ඇත හෝ නව අවස්ථාවක් ක්ෂණිකව සිදු කරනු ඇත.
Eloquent ORM භාවිතා කරමින්, ඔබට ඔබගේ දත්ත ගබඩාවේ වාර්තා සොයා ගත හැක. විමසුම් සරලව ගොඩනගා ඇති අතර සුමට ප්රවාහයක් ලබා දෙයි. ප්රකාශයන් සෑදීමට ::where
, ඔබ ක්රම භාවිතා කරනු ඇත get
() සහ first
(). ක්රමය first
() ක්රමය අතරතුර එක් වාර්තාවක් පමණක් ලබා දෙනු ඇත get
() ලූප් කළ හැකි වාර්තා මාලාවක් ආපසු ලබා දෙනු ඇත. එසේම, ක්රමය find
() ප්රාථමික යතුරු මාලාවක් සමඟ භාවිතා කළ හැක, එය ගැලපෙන වාර්තා එකතුවක් ආපසු ලබා දෙනු ඇත. මෙන්න උදාහරණ කිහිපයක්:
$student = Students::all();
මෙම කේතය සියලුම සිසුන් ලබා ගනී. පහත කේතය ID මගින් නිශ්චිත ශිෂ්යයෙකු සොයා ගන්නා අතරතුර:
$student = සිසුන් :: find(1);
එසේම, පහත දැක්වෙන පරිදි, කේතය නිශ්චිත ගුණාංගයක් මත පදනම්ව ශිෂ්යයෙකු සෙවීම විස්තර කරයි.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
get() ක්රමය සඳහා, මෙම කේතය 5 ට වැඩි මට්ටමක් ඇති ශිෂ්යයෙකු සොයා ගන්නා ආකාරය පෙන්වයි.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Eloquent භාවිතයෙන් වාර්තා යාවත්කාලීන කිරීම පහසුයි. වාර්තාවක් යාවත්කාලීන කිරීමට, ඔබට යාවත්කාලීන කිරීමට අවශ්ය වාර්තාව සොයා ගන්න, ගුණාංග සංස්කරණය කර සුරකින්න. උදාහරණයක් ලෙස, ජෝන් ඩෝගේ ශිෂ්යයාගේ ශ්රේණි මට්ටම 5 දක්වා වෙනස් කිරීමට, පළමුව ශිෂ්යයා සොයාගෙන පසුව සුරැකීමේ ක්රමය ක්රියාත්මක කරන්න.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
දත්ත ගබඩාවේ දැනටමත් පවතින මාදිලි යාවත්කාලීන කිරීමටද සුරැකීමේ ක්රමය භාවිතා කළ හැක.
Eloquent එහි පහසු වාර්තා යාවත්කාලීන කිරීමේ ක්රියාවලිය ගැන පුරසාරම් දොඩයි, නමුත් එය මකාදැමීම සමඟ එකම කතාව ඇත. විකල්ප දෙකක් තිබේ: වාර්තා ඉවත් කර මකා දැමීමේ ක්රමය ක්රියාත්මක කරන්න, නැතහොත් විනාශ කිරීමේ ක්රමය භාවිතා කරන්න. වාර්තාවක් සොයා ගැනීමට සහ මකා දැමීමට, පහත විධානයන් ක්රියාත්මක කරන්න:
$student = Students::find(1);
$student->delete();
වාර්තාවක් සහ බහු වාර්තා මකා දැමීමට, විධානයන් ක්රියාත්මක වේ:
Students::destroy(1);
Students::destroy(1, 2, 3);
ඕනෑම දත්ත සමුදා තීරුවක් පිළිගත හැකි මකන ක්රමය මෙන් විනාශයේ පරාමිති ප්රාථමික යතුරු පමණක් බව සලකන්න.
10 මට්ටමෙන් ඉහළ සියලුම සිසුන් සොයා මකා දැමීමට.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Apple Vision Pro වාණිජ නරඹන්නා භාවිතයෙන් අක්ෂි ශල්යකර්මයක් Catania Polyclinic හි සිදු කරන ලදී.
වර්ණ ගැන්වීම හරහා සියුම් මෝටර් කුසලතා වර්ධනය කිරීම ලිවීම වැනි වඩාත් සංකීර්ණ කුසලතා සඳහා දරුවන් සූදානම් කරයි. වර්ණ ගැන්වීමට...
නාවික අංශය සැබෑ ගෝලීය ආර්ථික බලවතෙකු වන අතර එය බිලියන 150 ක වෙළඳපලක් කරා ගමන් කර ඇත.
පසුගිය සඳුදා ෆිනෑන්ෂල් ටයිම්ස් OpenAI සමඟ ගිවිසුමක් නිවේදනය කළේය. FT එහි ලෝක මට්ටමේ පුවත්පත් කලාවට බලපත්ර ලබා දෙයි…