سلام دوستان پارس کلیکی عزیز ، و علاقه مندان فریم ورک بزرگ لاراول ، بعد از مدت ها تصمیم گرفتم در بخش لاراول فعالیت داشته باشم و در کنار پارس کلیکی های عزیز درس پس بدم ، خب بدون اتلاف وقت میریم به سراغ مقاله ای که امروز براتون آماده کردم یعنی:

تکرار (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'];
}
و سپس یک سطر به این جدول اضافه میکنیم بدین صورت :

table

حالا با اجرای دستور زیر یک تکرار یا کپی از سطری بالا ایجاد میکنیم:
$notes=Notes::find(1);

$newNote=$notes->replicate();

$newNote ->save();

حالا شما در دیتابیس خودتان باید یک کپی از اطلاعات سطر ۱ خود داشته باشید با این تفاوت که ID اطلاعات وارد شده و همینطور زمان ساخت و آپدیت سطر جدید متفاوت است .

table

خب به همین راحتی شما توانستید یک تکرار از یک سطر از جدولتان داشته باشید . البته شما میتوانید با استفاده از حلقه ها ، تکرارهای با ویژگی های بیشتر هم ایجاد کنید.امیدوارم این مقاله مورد توجه شما عزیزان قرار گرفته باشه.