Kōkua ʻo Laravel a me Eloquent i ka wikiwiki ʻana i ka noi a me ka hoʻomohala ʻana i ka platform, e hāʻawi ana i kahi hopena kūpono i ka hapa nui o nā pilikia. Hoʻopili ʻia nā koi me ka hoʻomohala wikiwiki ʻana, a me ka hoʻonohonoho maikaʻi ʻana, hiki ke hoʻohana hou ʻia, mālama ʻia, a me ka scalable code.
Hiki i nā mea hoʻomohala ke hana i loko Eloquent
me ka hoʻohana ʻana i kahi hoʻokō ActiveMethod. He kumu hoʻohālike ia kahi i hana ʻia ai ke kumu hoʻohālike i loko o ka hoʻolālā Model-View-Controller (MVC) e pili ana i kahi papa ma ka waihona. ʻO ka pōmaikaʻi ʻo ia ka hana ʻana o nā hiʻohiʻona i nā hana ʻikepili maʻamau me ka ʻole o ka helu ʻana i nā nīnau SQL lōʻihi. Hāʻawi nā templates iā ʻoe e nīnau i nā ʻikepili ma nā papa a hoʻokomo i nā moʻolelo hou i loko o nā papa. Ua maʻalahi ke kaʻina hana o ka hoʻonohonoho ʻana i nā ʻikepili lehulehu e holo ana ma nā ʻōnaehana like ʻole. ʻAʻole pono ʻoe e kākau i nā nīnau SQL. ʻO kāu hana wale nō defiE hoʻopau i nā papa ʻikepili a me nā pilina ma waena o lākou, a na Eloquent e hana i ke koena o ka hana.
ʻO ka mahalo i ka pono o Eloquent ORM, a me ka hoʻomaopopo ʻana i ke kaiaola he mea pono. Nā ʻanuʻu e hoʻomaka ai:
migration
me ka hoʻohana ʻana i ka console Artisan
eloquent
seed
o ka waihonaArtisan Console
ʻo ia ka inoa o ka laina kauoha i hoʻokomo ʻia ma Laravel. Hāʻawi i kahi pūʻulu o nā kauoha pono e hoʻohana i ka wā e hoʻomohala ana i kāu noi. Hoʻokele ʻia e ka ʻāpana ikaika Symfony Console
.
No ka ʻike ʻana i kahi papa inoa o nā kauoha Artisan āpau i loaʻa, hiki iā ʻoe ke hoʻohana i ke kauoha papa inoa:
php artisan list
Hele mai nā kauoha a pau me ka wehewehe pōkole o kāna mau hoʻopaʻapaʻa a me nā koho. Hōʻike ʻia kēia ma kahi pale "kōkua". No ka hōʻike ʻana i kahi pale kōkua, ma mua o ka inoa kauoha me ka "kōkua" e like me ka hōʻike ʻana:
php artisan help migrate
Migration
ʻO ka Migration kahi kaʻina hoʻokele waihona ma ke kākau ʻana iā PHP SQL
. Hāʻawi i kahi ala e hoʻohui i ka mana mana i ka waihona.
No ka hana ʻana i kahi migration, e holo wale i kēia kauoha:
php artisan make:migration create_student_records
Hoʻokumu kēia i ka faila neʻe. Ma kāu hoʻoponopono kikokikona, wehe i ka faila āu i hana ai ma ka waihona 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');
}
}
ʻO ke code he papa me ka inoa like 'create student records
', a he ʻelua mau ala: piʻi a lalo. Pono ke ala i luna e hoʻololi i ka waihona; no laila ke neʻe ʻoe i kāu waihona, e hoʻokō ʻia kekahi code ma ke ala i luna. Ma ka ʻaoʻao ʻē aʻe, ʻo ke ala iho e hoʻohuli i kēlā mau hoʻololi ʻikepili; no laila ke holo ʻoe i ka rollback
della migration
, ʻo ke ala iho e hoʻopau i ka hana a ke ala i luna. I loko o ke ʻano up
aia ka mea hana schema i hoʻohana ʻia no ka hana ʻana a hoʻoponopono i nā papa. He aha ka hopena inā hoʻopau ʻoe i kekahi o kāu mau neʻe? ʻO nā mea a pau āu e hana ai, e hoʻokō i kēia kauoha:
php artisan migrate:rollback
A e hōʻiliʻili ʻo ia i ka mea hope loa migration
i hoʻokō ʻia. Eia kekahi, hiki iā ʻoe ke hoʻihoʻi piha i ka waihona ma ka holo ʻana:
php artisan migrate:reset
E hoʻopau kēia i kāu mau neʻe a pau.
Eloquent
Ma hope o ka pau ʻana o ka neʻe ʻana o ka waihona, ʻo ke kaʻina hana aʻe ka seeding
. Eloquent
hele mai i ka pāʻani mai ka seeding
ke hoʻokomo nei i nā moʻolelo i loko o kā mākou waihona. No laila pono ʻoe e hana i nā mamana ma mua o ka hoʻokomo ʻana i ka waihona. Loaʻa i kēlā me kēia papa ʻikepili kahi kumu hoʻohālike i hoʻohana ʻia e launa pū me kēlā pākaukau. Hāʻawi nā templates iā ʻoe e nīnau i ka ʻikepili i kāu mau papa, a me ka hoʻokomo ʻana i nā moʻolelo hou i loko o ka papa. ʻO ke ala maʻalahi e hoʻomaka koke i ke kumu hoʻohālike e hoʻohana i kēia kauoha:
php artisan make:model Student
Hōʻike ʻia ma lalo nei kahi laʻana o kahi laʻana Student
, hiki ke hoʻohana ʻia e kiʻi a mālama i ka ʻike mai ka papa ʻikepili o kā mākou haumāna:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Ke hana ʻoe i kahi hoʻohālike a i ka manawa like āu e makemake ai e hana i ka neʻe ʻana i ka waihona, hiki iā ʻoe ke hoʻohana i ke koho –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
ʻO nā mea kanu holoʻokoʻa he pūʻulu kūikawā o nā papa e ʻae iā mākou e hoʻopiha pinepine i kā mākou waihona me ka ʻikepili like. Hoʻokō mākou i kēia kauoha:
php artisan make:seeder StudentsRecordSeeder
I ka mea hoʻoponopono kikokikona, ma lalo o ka waihona hua, wehe i ka faila i hana hou ʻia me ka inoa file: StudentsRecordSeeder.php
. E like me kāu e ʻike ai he papa maʻalahi loa kēia me kahi ala hoʻokahi i kapa ʻia run
,
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
ʻO ke code he mea hoʻopili wale i kahi papa kauoha console, i kūkulu ʻia e kōkua i ka hana o seeding
. Hoʻoponopono i ke code a laila mālama.
public function run()
{
echo 'Seeding!';
}
A e hele ana i ka terminal:
php artisan db:seed --class=StudentsRecordSeeder
I kēia manawa hiki iā ʻoe ke hoʻopiha i ka papaʻaina me kekahi mau mea komo a holo:
php artisan db:seed --class=class=StudentsRecordSeeder
Maʻaneʻi hiki iāʻoe ke hoʻomau i ka holoiʻana, hoʻohui, hoʻololi i nā mea komo i ka DB, a laila e hoʻihoʻi iā lākou me kahi kauoha maʻalahi.
ʻO nā hana CRUD me Laravel Eloquent object-relational mapper (ORM) e maʻalahi i nā mea hoʻomohala Laravel e hana me nā ʻikepili he nui. Hana ia i nā hana hana, heluhelu, hoʻohou, a holoi (CRUD), a palapala ʻāina i nā mea hoʻohālike i nā papa ʻikepili. Hoʻohana i nā pilina ʻikepili āpau i koi ʻia no nā hana CRUD.
Hiki iā ʻoe ke hoʻohana i ke ʻano ::create e hoʻokomo i kahi moʻolelo hou i loko o ka waihona.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Ma waho aʻe o ke ʻano hana maʻalahi i hōʻike ʻia ma luna, hiki iā ʻoe ke hana i kahi mea hou a hāʻawi iā ia i nā ʻano ʻokoʻa. A laila, hiki iā ʻoe ke kāhea i ka hana mālama () a holo i ke code. Nā ʻano like firstOrCreate
() a i ʻole firstOrNew
() nā koho ʻē aʻe no ka hana ʻana i nā moʻolelo. E ʻae kēia iā ʻoe e ʻimi i kahi haumāna me kekahi mau ʻano; inā ʻaʻole ʻike ʻia kēlā haumāna, e hana ʻoe iā ia i loko o ka waihona a i ʻole e hoʻomaka koke i kahi mea hou.
Ke hoʻohana nei i ka Eloquent ORM, hiki iā ʻoe ke loaʻa nā moʻolelo ma kāu waihona. Hoʻokumu wale ʻia nā nīnau a hāʻawi i ka holo mālie. No ka hana ʻana i nā ʻōlelo::where
, e hoʻohana ʻoe i nā ʻano hana get
() A first
(). ʻO keʻano first
() e hoʻihoʻi wale i hoʻokahi moʻolelo, ʻoiai ke ʻano get
() e hoʻihoʻi mai i kahi papa inoa o nā moʻolelo. Eia kekahi, ke ʻano find
() hiki ke hoʻohana ʻia me nā kī nui, e hoʻihoʻi i kahi hōʻiliʻili o nā moʻolelo pili. Eia kekahi mau laʻana:
$student = Students::all();
Loaʻa kēia code i nā haumāna āpau. ʻOiai e loaʻa ana kēia code i kahi haumāna kikoʻī ma ka ID:
$haumāna = Haumāna::find(1);
Eia kekahi, e like me ka mea i hōʻike ʻia ma lalo nei, wehewehe ke code i ka ʻimi ʻana i kahi haumāna ma muli o kahi ʻano kikoʻī.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
No ke ala loaʻa (), hōʻike kēia code pehea e ʻike ai i kahi haumāna me kahi pae ma luna o 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
He maʻalahi ka hoʻonui ʻana i nā moʻolelo me ka hoʻohana ʻana iā Eloquent. No ka hoʻohou i kahi moʻolelo, e ʻimi wale i ka moʻolelo āu e makemake ai e hoʻonui, hoʻoponopono i nā ʻano a mālama. No ka laʻana, e hoʻololi i ka pae papa o kā John Doe haumāna i 5, e ʻimi mua i ka haumāna a laila e hoʻokō i ke ʻano mālama.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Hiki ke hoʻohana ʻia ke ʻano mālama e hoʻohou i nā hiʻohiʻona i loaʻa i ka waihona.
Haʻaheo ʻo Eloquent i kāna kaʻina hana hoʻoponopono moʻolelo maʻalahi, akā he moʻolelo like me ka holoi ʻana. ʻElua mau koho: huki i nā moʻolelo a hoʻokō i ke ala holoi, a i ʻole e hoʻohana i ke ʻano luku. No ka ʻimi a holoi ʻana i kahi moʻolelo, e holo wale i kēia mau kauoha:
$student = Students::find(1);
$student->delete();
No ka holoi ʻana i kahi moʻolelo a me nā moʻolelo he nui, holo nā kauoha:
Students::destroy(1);
Students::destroy(1, 2, 3);
E hoʻomaopopo ʻo nā ʻāpana o ka luku ʻana he mau kī mua wale nō e like me ke ʻano holoi e hiki ke ʻae i kekahi kolamu waihona.
No ka huli a holoi i nā haumāna a pau ma luna o ka pae 10.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
I ka Pōʻakahi i hala, ua hoʻolaha ka Financial Times i kahi kuʻikahi me OpenAI. Laikini ʻo FT i kāna nūpepa papa honua…
E uku ana nā miliona o ka poʻe no nā lawelawe streaming, e uku ana i nā uku kau inoa o kēlā me kēia mahina. He manaʻo maʻamau ʻoe…
E hoʻomau ʻo Coveware e Veeam i ka hoʻolako ʻana i nā lawelawe pane ʻana i ka hanana cyber extortion. E hāʻawi ʻo Coveware i nā forensics a me nā mana hoʻoponopono…
Ke hoʻololi nei ka mālama wānana ʻana i ka ʻāpana ʻaila a me ke kinoea, me kahi ala hou a hoʻoikaika i ka hoʻokele mea kanu.…