Laravel da Ƙwaƙwalwa suna taimakawa haɓaka aikace-aikace da ci gaban dandamali, suna ba da cikakkiyar mafita ga mafi yawan matsalolin. Ana magance buƙatun tare da haɓakawa cikin sauri, da kuma ingantaccen tsari, mai sake amfani da shi, mai kiyayewa, da lambar ƙima.
Developers iya aiki a ciki Eloquent
tare da bayanai masu yawa da inganci ta amfani da aiwatar da ActiveMethod. Tsarin gine-gine ne inda ƙirar da aka ƙirƙira a cikin tsarin Model-View-Controller (MVC) yayi daidai da tebur a cikin bayanan. Fa'idar ita ce samfuran suna yin ayyukan tattara bayanai na gama gari ba tare da rubuta doguwar tambayoyin SQL ba. Samfura suna ba ku damar bincika bayanai a cikin tebur kuma saka sabbin bayanai cikin tebur. Tsarin daidaita ma'auni mai yawa da ke gudana akan tsarin daban-daban yana da sauƙi. Ba kwa buƙatar rubuta tambayoyin SQL. Duk abin da za ku yi shi ne defiKammala teburin bayanai da alaƙar da ke tsakanin su, kuma Eloquent zai yi sauran aikin.
Yabo da amfani na Eloquent ORM, da fahimtar yanayin yanayin ya zama dole. Matakan farawa:
migration
amfani da console Artisan
eloquent
seed
na databaseArtisan Console
shine sunan layin umarni da aka haɗa a cikin Laravel. Yana ba da saitin umarni masu amfani don amfani yayin haɓaka aikace-aikacen ku. Abu mai ƙarfi ne ke tafiyar da shi Symfony Console
.
Don ganin jerin duk cikakkun umarnin Artisan, zaku iya amfani da umarnin jeri:
php artisan list
Duk umarni suna zuwa tare da taƙaitaccen bayanin hujjojinsa da zaɓuɓɓukan sa. Ana nuna wannan a allon "taimako". Don nuna allon taimako, kawai a riga sunan umarni tare da "taimako" kamar yadda aka nuna:
php artisan help migrate
Migration
Hijira tsari ne na sarrafa bayanai ta hanyar rubuta PHP maimakon SQL
. Yana ba da hanyar ƙara sarrafa sigar zuwa bayanan bayanai.
Don ƙirƙirar ƙaura, kawai gudanar da umarni mai zuwa:
php artisan make:migration create_student_records
Wannan yana haifar da fayil ɗin ƙaura. A cikin editan rubutun ku, buɗe fayil ɗin da kuka ƙirƙira a cikin babban fayil ɗin 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');
}
}
Lambar aji ne mai suna iri ɗaya'create student records
', kuma yana da hanyoyi guda biyu: sama da ƙasa. Hanyar sama ya kamata ta yi canje-canje ga bayanan; don haka a duk lokacin da kuka yi ƙaura zuwa bayananku, za a aiwatar da kowace lamba a cikin hanyar sama. A gefe guda, hanyar da aka saukar ya kamata ta mayar da waɗannan canje-canjen bayanai; don haka a duk lokacin da ka gudu da rollback
della migration
, Hanyar ƙasa yakamata ta gyara abin da hanyar sama tayi. A cikin hanyar up
akwai maginin tsarin da ake amfani da shi don ƙirƙira da sarrafa teburin. Me zai faru idan kun soke wasu ƙaura? Abin da kawai za ku yi shi ne aiwatar da umarni mai zuwa:
php artisan migrate:rollback
Kuma zai tattara na karshe migration
wanda aka aiwatar. Hakanan, zaku iya dawo da bayanan bayanan gabaki ɗaya ta hanyar gudu:
php artisan migrate:reset
Wannan zai soke duk ƙaura.
Eloquent
Bayan an gama ƙaura na bayanai, tsari na gaba shine seeding
. Eloquent
ya shigo cikin wasa tun daga seeding
yana saka bayanai a cikin bayanan mu. Don haka kuna buƙatar ƙirƙirar samfura kafin buɗa bayanan bayanai. Kowane tebur na bayanai yana da samfurin da ya dace wanda ake amfani da shi don mu'amala da wannan tebur. Samfura suna ba ku damar bincika bayanan da ke cikin tebur ɗinku, da kuma saka sabbin bayanai a cikin tebur. Hanya mafi sauƙi don hanzarta samfurin shine amfani da umarni mai zuwa:
php artisan make:model Student
Ana nuna misalin samfuri a ƙasa Student
, waɗanda za a iya amfani da su don maidowa da adana bayanai daga teburin bayanan ɗalibin mu:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Lokacin da kuke samar da samfuri kuma a lokaci guda kuna son ƙirƙirar ƙaura na bayanai, zaku iya amfani da zaɓin –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Gabaɗaya masu shuka iri ne na azuzuwan na musamman waɗanda ke ba mu damar cika bayanan mu akai-akai tare da ainihin bayanai iri ɗaya. Muna aiwatar da umarni mai zuwa:
php artisan make:seeder StudentsRecordSeeder
A cikin editan rubutu, ƙarƙashin babban fayil ɗin tsaba, buɗe sabon fayil ɗin da aka ƙirƙira tare da sunan fayil: StudentsRecordSeeder.php
. Kamar yadda kake gani wannan aji ne mai sauqi qwarai tare da hanya guda da ake kira run
().
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Lambar kawai abin nade ne a kusa da ajin umarni na wasan bidiyo, musamman an gina shi don taimakawa da aikin seeding
. Shirya lambar sannan ka adana shi.
public function run()
{
echo 'Seeding!';
}
Kuma zuwa Terminal:
php artisan db:seed --class=StudentsRecordSeeder
Yanzu zaku iya cika tebur tare da wasu shigarwar kuma ku gudu:
php artisan db:seed --class=class=StudentsRecordSeeder
Anan zaka iya ci gaba da gogewa, ƙarawa, gyara shigarwar a cikin DB, sannan maido da su tare da umarni mai sauƙi.
Ayyukan CRUD tare da Laravel Eloquent object-relational mapper (ORM) yana sauƙaƙa wa masu haɓaka Laravel suyi aiki tare da bayanai masu yawa. Yana aiwatar da ƙirƙira, karantawa, sabuntawa, da gogewa (CRUD) ayyuka, da taswirorin abubuwa zuwa teburin bayanai. Yana sarrafa duk hulɗar bayanai da ake buƙata don ayyukan CRUD.
Kuna iya amfani da :: ƙirƙira hanyar don saka sabon rikodin cikin ma'ajin bayanai.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Baya ga hanyar ƙirƙirar sauƙi da aka nuna a sama, zaku iya ƙirƙirar sabon abu kuma ku ba shi halaye daban-daban. Sa'an nan, za ka iya kiran aikin save() da kuma gudanar da code. Hanyoyin kamar firstOrCreate
() ko firstOrNew
() wasu zaɓuɓɓuka ne don ƙirƙirar rikodin. Wadannan za su ba ka damar samun dalibi mai wasu halaye; idan ba a sami wannan ɗalibin ba, zaku ƙirƙira shi a cikin ma'ajin bayanai ko kuma zazzage sabon misali.
Yin amfani da Ƙwararren ORM, zaku iya nemo bayanai a cikin bayananku. Tambayoyin ana gina su ne kawai kuma suna ba da kwarara mai santsi. Don ƙirƙirar maganganu::where
, za ku yi amfani da hanyoyin get
() Kuma first
(). Hanyar first
() zai dawo da rikodin guda ɗaya kawai, yayin da hanyar get
() zai dawo da tsararrun bayanai masu ma'ana. Hakanan, hanyar find
() za a iya amfani da shi tare da tsararrun maɓallan farko, waɗanda za su dawo da tarin bayanan da suka dace. Ga wasu misalai:
$student = Students::all();
Wannan lambar tana samun duk ɗalibai. Yayin da lambar mai zuwa ta sami takamaiman ɗalibi ta ID:
$dalibi = Dalibai :: nemo(1);
Hakanan, kamar yadda aka nuna a ƙasa, lambar tana bayyana neman ɗalibi bisa takamaiman sifa.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Don hanyar samun(), wannan lambar tana nuna yadda ake nemo ɗalibi mai matakin sama da 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Ana ɗaukaka rikodin ta amfani da Eloquent yana da sauƙi. Don sabunta rikodin, kawai nemo rikodin da kake son ɗaukakawa, gyara halayen kuma ajiyewa. Misali, don canza matakin aji na ɗalibin John Doe zuwa 5, da farko nemo ɗalibin sannan aiwatar da hanyar adanawa.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Hakanan za'a iya amfani da hanyar adanawa don sabunta samfura waɗanda suka riga sun wanzu a cikin ma'ajin bayanai.
Zazzagewa yana alfahari da tsarin sabunta rikodin sa cikin sauƙi, amma yana da labari iri ɗaya tare da gogewa. Akwai zaɓuɓɓuka guda biyu: fayilolin cirewa da aiwatar da hanyar sharewa, ko kawai amfani da hanyar lalata. Don nemo da share rikodin, kawai gudanar da umarni masu zuwa:
$student = Students::find(1);
$student->delete();
Don share rikodin da bayanai da yawa, ana gudanar da umarni:
Students::destroy(1);
Students::destroy(1, 2, 3);
Lura cewa sigogin lalata maɓallai ne kawai na farko sabanin hanyar sharewa wanda zai iya karɓar kowane ginshiƙi na bayanai.
Don nemo da share duk ɗalibai sama da matakin 10.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Coveware ta Veeam zai ci gaba da ba da sabis na amsa abin da ya faru ta hanyar intanet. Coveware zai ba da damar bincikar bincike da damar gyarawa…
Kulawa da tsinkaya yana kawo sauyi a fannin mai & iskar gas, tare da sabbin hanyoyin kula da tsirrai.…
Hukumar CMA ta Burtaniya ta ba da gargadi game da halayen Big Tech a cikin kasuwar bayanan sirri. Akwai…
Dokar "Green Houses" da Tarayyar Turai ta tsara don inganta ingantaccen makamashi na gine-gine, ta kammala aikinta na majalisar tare da…