دسته بندی :
تاریخ انتشار : ۰۳ بهمن ۱۳۹۴
گردآوری و تالیف : حسام موسوی

کارمو با طراحی گرافیکی شروع کردم و حدود 2 سال طراحی گرافیکی میکردم بعد به طراحی وب علاقه پیدا کردم و همراه طراحی وب عاشق کدنویسی شدم به PHP | sass | css | Jquery | javaScript تسلط کامل دارم . در بین فریم ورک های PHP اول با CodeIgniter کار کردم اما به laravel علاقه مند شدم و دارم بطور حرفه ای دنبالش میکنم . امید من اینکه بتونم کاربرهای ایرانی رو به دنیای بیرون متصل کنم تا بتونن از فناوری های تازه آگاهی داشته باشن

امروز میخواهم در مورد ویژگی در لاراول صحبت کنم که به اصطلاح "hidden" است ، یعنی این قابلیت در سیستم لاراول وجود دارد اما در documentation لاراول چیزی از این ویژگی گفته نشده است . این ویزگی replicate است . این تابع به شما کمک میکند تا یک سطر از اطلاعات جدول دیتابیس خودتان را در سریع ترین زمان ممکن کپی کنید . 

برای شروع ما جدولی بصورت زیر را ایجاد میکنیم : 

Schema::create('tasks', function (Blueprint $table) {
    $table->increments('id');
    $table->string('task');
    $table->text('description');
    $table->timestamps();
    $table->softDeletes();
});

و همینطور مدل مربوط به این جدول را با اطلاعات زیر ایجاد میکنیم : 

class Tasks extends Model
{
    use SoftDeletes;
    protected $table = 'tasks';
    protected $fillable = ['task', 'description'];
}

من یک سطر به این جدول به صورت زیر وارد کردم : 

حالا با اجرای دستور زیر یک تکرار یا کپی از سطری بالا ایجاد میکنیم :

$tasks = Tasks::find(1);
$newTask = $tasks->replicate();
$newTask->save();

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

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

دیدگاه های مخاطبین

ثبت دیدگاه شما
  • سعید

    سلام
    من الان یک مشکل در ساخت دوتا auth برای صفحه کاربرام و صفحه مدیریت دارم.
    الان من صفحه لاگین برای مدیریت ساخته ام ولی چطوری بتونم از auth برای صفحه ورود کاربرام استفاده کنم؟
    با تشکر

    • admin

      میتونید این قسمت رو مشاهده کنید
      http://roocket.ir/series/meet-laravel/episode/13

  • میثم

    سلام ممنون از مطلب خوبتون ی پست در رابطه با این قضیه میزارید ک چطور میشه پروژه ساخته شده رو به لاراول5 ببریم ممنون میشم جواب بدید.

    • admin

      به ایمیل زیر اطلاعاتتون رو بفرستید لطفا
      info@roocket.ir

    • میثم

      میتونم کدهارو بهتون بدم ببینید میشه حل کرد یا نه ؟من در حد خوبی لاراول بلدم و در مورد مسترپیج و.. میدونم ولی این ی ذره مشکل بود آیا میتونم براتون بفرستم؟

    • admin

      باید مستر پیج بسازین کد های Html رو توش قرار بدین برای قرار دادن css از link و بقیه مثل روال من به کدهاتون دسترسی ندارم و نمی دونم به چه صورتیه اما روند مثل بقیه کارهاست

    • میثم

      ی مطلب دیگه اینه که من اون پروژه رو میخام داخل بلید قرار بدم یعنی فایل ایندکس ویو

    • میثم

      این قضیه رو میدونم ولی مشکل من اینه که کدها اجرا نمیشه چون ۀدرس دهی مشکل پیدا میکنه و فایل جاوا درون پوشه پابلیک اجرا نمیشه و نمیتونه عکسها رو پیدا کنه

    • admin

      در adobe edge بعد از تکمیل پروژه قطعا فایل های html دارید و css و ...
      که فایل های html رو به فولدر resources و ویوها انتقال میدید و فایل های استاتیک مثل css رو به فولدر public
      همین طبق روال معمولی

    • میثم

      ببخشید یادم رفته بود بنویسم چطوری پروژه adobe edge رو به لاراول انتقال بدم چون با ید تو پوشه public باشه عمل نمیکنه

    • admin

      منظورتون اینکه چطور پروژه ساخته شده از یک نسخه لاراول مثل لاراول 5 به لاراول 5.2 انتقال داد ؟

  • وحید

    به نظرتون کاربردش در چه مواردی می تونه باشه؟

    • admin

      مثلا شما یک app برای برنامه کاریتون ایجاد میکنید (مثل یک تقویم ) و یک وظیفه که در اینده باید انجام بدید رو در اون میسازید شما اون کارو مممکنه چند بار انجام بدید
      بجای اینکه بیایید از ابتدا اطلاعات اون وظیفه رو در فرم وارد کنید و وظیفه جدید با مشخصات تکراری بسازید به راحتی روی کپی کردن اون وظیفه میزنید و فقط زمان انجامش رو تغییر میدید.

  • معین

    ویژگی جالبی بود. ممنون

پیشنهاد میکنیم این مطالب رو هم مطالعه کنید :