صانع الكروسيلالأكثر مشاهدةكتاب مميزينأحدث المقالات
Oktob
صانع الكروسيلالأكثر مشاهدةكتاب مميزينأحدث المقالات


عن أكتبتواصل معناشروط الكتابةسياسة الخصوصية

اكتب © 2026

/أحدث المقالات/Eloquent : عمل نسخه جديدة من صف فى قاعدة البيانات
A
Amr Soliman

Entrepeneur, Tech Nerd; Ninja Developer. Passionate about solving the world's contact information problem and helping entrepreneurs.

مدة القراءة: دقيقتين

Eloquent : عمل نسخه جديدة من صف فى قاعدة البيانات

بسم الله الرحمن الرحيم

فى بعض الأحيان نحتاج الى تكرار صف فى قاعدة البيانات و أجراء تعديلات بسيطة عليه.

مثال : لو أنك تعمل على سيستم TODO List فسيكون لديك جدول جدول أسمه Tasks، نفترض انك تريد تكرار مهمه معينه قد أنتهيت منها و لكن تريد ان تكررها و تكون " غير منتهية "، فى السابق كنا نعيد كتابة الصف من جديد بالكامل، تكون هذه العملية سهله لو كانت المعلومات الموجوده بسيطة لكن لو الصف به الكتير من المعلومات يكون الأمر مرهقا و قابل للخطأ.

هنا جاءت Laravel و معها Eloquent بحل خفى و غير موجود فى Documentation على ما أعتقد و هى داله أسمها Replicate

لشرح المثال بالكود :

دا هيكون شكل ال Migration ا تبع الجدول المهام

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

ودا هيكون شكل ال Model

namespace App\Models  class Tasks extends Model {     protected $table = 'tasks';     protected $fillable = ['task', 'description' , 'done']; }  نفترض ان لدينا controller أسمه TaskController   namespace App\Http\Controllers;  use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Task;  classTaskController extends Controller {   public function copyTask(Request $request))   {         $task = Task::find($request->get('id'))         $newTask = $task->replicate();         $newTask->done = 0 ;         $newTask->save();   }  }

فى الأعلى قمنا بعمل صف جديد بنفس بيانات الصف الجديد  لكن غيرنا قيمه العمود done الى 0 ليصبح غير منفذ، تقوم Eloquent مباشرة بتغير قيم الأعمدة ( created_at - updated_at )

يمكن أيضا التعامل مع العلاقات  Relations الخاصه بالصف الجديد و نقلها للجديد.

المرجع : https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Model.html



A
Amr Soliman
10 متابِع0 يتابع

Entrepeneur, Tech Nerd; Ninja Developer. Passionate about solving the world's contact information problem and helping entrepreneurs.

Entrepeneur, Tech Nerd; Ninja Developer. Passionate about solving the world's contact information problem and helping entrepreneurs.

صورة ترويجية لتطبيق أكتب على الهاتف

انضم الى اكتب

منصة تدوين عربية تعتد مبدأ البساطة في التصميم و التدوين

التعليقات