سلام دوستان پارس کلیکی عزیز ، و علاقه مندان فریم ورک بزرگ لاراول ، بعد از مدت ها تصمیم گرفتم در بخش لاراول فعالیت داشته باشم و در کنار پارس کلیکی های عزیز درس پس بدم ، خب بدون اتلاف وقت میریم به سراغ مقاله ای که امروز براتون آماده کردم یعنی:
تکرار (replicate) کردن یک سطر در لاراول
در این مقاله میخواهم در مورد ویژگی در لاراول صحبت کنم که به اصطلاح hidden
است ، یعنی این قابلیت در سیستم لاراول وجود دارد اما در documentation
لاراول چیزی از این ویژگی گفته نشده است . این ویزگی replicate
است . این تابع به شما کمک میکند تا یک سطر از اطلاعات جدول دیتابیس خودتان را در سریع ترین زمان ممکن کپی کنید.
برای شروع ما جدولی بصورت زیر را ایجاد میکنیم :
Schema::create('notes', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->text('description');
$table->timestamps();
});
همینطور مدل مربوط به این جدول را با اطلاعات زیر ایجاد میکنیم :
class Notes extends Model
{
protected $table = 'notes';
protected $fillable = ['name', 'description'];
}
و سپس یک سطر به این جدول اضافه میکنیم بدین صورت :
حالا با اجرای دستور زیر یک تکرار یا کپی از سطری بالا ایجاد میکنیم:
$notes=Notes::find(1);
$newNote=$notes->replicate();
$newNote ->save();
حالا شما در دیتابیس خودتان باید یک کپی از اطلاعات سطر ۱ خود داشته باشید با این تفاوت که ID
اطلاعات وارد شده و همینطور زمان ساخت و آپدیت سطر جدید متفاوت است .
خب به همین راحتی شما توانستید یک تکرار از یک سطر از جدولتان داشته باشید . البته شما میتوانید با استفاده از حلقه ها ، تکرارهای با ویژگی های بیشتر هم ایجاد کنید.امیدوارم این مقاله مورد توجه شما عزیزان قرار گرفته باشه.