/** * Run the database seeds. * * @return void */ public function run() { Model::unguard(); DB::statement('SET FOREIGN_KEY_CHECKS=0;'); $subjects = DB::connection('old')->table('subjects')->get(); $new_lessons = []; $new_lessons = []; // $new_subjects = []; $intro_lesson_id = 689998765; $lessons = DB::connection('old')->table('lessons')->select('lessons.*')->where('les_sort', '>', 0)->join('subjects', 'les_subjectid', '=', 'sub_id')->get(); $element_new = Element::get(); foreach ($element_new as $lesson) { $lesson->where('element_order', '=', 10)->delete(); } foreach ($lessons as $lesson) { if ($lesson->les_pdf) { $new_element = new Element(); $new_element->subject_lesson_id = $lesson->les_id; $new_element->title = 'نسخة للطباعة'; $new_element->element_order = 10; $new_element->state = 'نشط'; $new_element->type = 'PDF'; $new_element->file = "https://el-css.edu.om/" . $lesson->les_pdf; $new_element->created_at = new DateTime(); $new_element->updated_at = new DateTime(); $new_element->save(); if ($new_element->file->size() < 600) { $new_element->delete(); } } } }
public function deleteBulk($lessonid, Request $req, Element $ElementModel) { // if the table_records is empty we redirect to the users index if (!$req->has('table_records')) { return redirect()->route('elements.index'); } // we get all the ids and put them in a variable $ids = $req->input('table_records'); // we delete all the subject with the ids $ids $ElementModel->destroy($ids); // we redirect to the user index view with a success message return redirect()->route('elements.index', $lessonid)->with('success'); }
/** * Register the service provider. * * @return void */ public function register() { Subject::saving(function ($subject) { $subject->pre_request = empty($subject->pre_request) ? null : $subject->pre_request; }); Element::created(function ($element) { UserLog::create(['operation' => 'create', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'element', 'reference_id' => $element->id]); }); Element::updated(function ($element) { UserLog::create(['operation' => 'update', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'element', 'reference_id' => $element->id]); }); Element::deleted(function ($element) { UserLog::create(['operation' => 'delete', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'element', 'reference_id' => $element->id]); }); Subject::created(function ($subject) { UserLog::create(['operation' => 'create', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'subject', 'reference_id' => $subject->id]); }); Subject::updated(function ($subject) { UserLog::create(['operation' => 'update', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'subject', 'reference_id' => $subject->id]); }); Subject::deleted(function ($subject) { UserLog::create(['operation' => 'delete', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'subject', 'reference_id' => $subject->id]); }); Lesson::created(function ($lesson) { UserLog::create(['operation' => 'create', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'lesson', 'reference_id' => $lesson->id]); }); Lesson::updated(function ($lesson) { UserLog::create(['operation' => 'update', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'lesson', 'reference_id' => $lesson->id]); }); Lesson::deleted(function ($lesson) { UserLog::create(['operation' => 'delete', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'lesson', 'reference_id' => $lesson->id]); }); }
/** * Run the database seeds. * * @return void */ public function run() { Model::unguard(); DB::statement('SET FOREIGN_KEY_CHECKS=0;'); // $this->call("OthersTableSeeder"); // if (Subject::count()) { // return; // } // Subject::where('id', 31)->delete(); // $lessons_ids = Lesson::where('subject_subject_id', 31) // ->pluck('id'); // Lesson::where('subject_subject_id', 31)->delete(); // Element::whereIn('subject_lesson_id', $lessons_ids) // ->delete(); Element::truncate(); Lesson::truncate(); $subjects = DB::connection('old')->table('subjects')->get(); $new_lessons = []; // $new_subjects = []; $intro_lesson_id = 689998765; $lessons = DB::connection('old')->table('lessons')->select('lessons.*')->where('les_sort', '>', 0)->join('subjects', 'les_subjectid', '=', 'sub_id')->get(); foreach ($subjects as $subject) { $new_subject['id'] = $subject->sub_id; $new_subject['name'] = $subject->sub_name; $new_subject['code'] = $subject->sub_code; $new_subject['hour'] = $subject->sub_hours; $new_subject['is_quran'] = str_contains($subject->sub_name, 'الكريم') ? 1 : 0; $new_subject['description'] = $subject->sub_details; $new_subject['created_at'] = new DateTime(); $new_subject['updated_at'] = new DateTime(); $new_subject['type'] = 'نظري'; $new_subjects[] = $new_subject; //for intro if (!empty($subject->sub_details)) { $new_lesson['id'] = $intro_lesson_id; $new_lesson['name'] = 'عن المادة'; $new_lesson['subject_subject_id'] = $subject->sub_id; $new_lesson['lesson_order'] = 0; $new_lesson['created_at'] = new DateTime(); $new_lesson['updated_at'] = new DateTime(); $new_lesson['state'] = 'نشط'; $new_lesson['type'] = 'مقدمة'; $new_lessons[] = $new_lesson; $new_element = new Element(); $new_element->subject_lesson_id = $intro_lesson_id; $new_element->title = 'الملخص'; $new_element->element_order = 0; $new_element->state = 'نشط'; $new_element->type = 'نص'; $new_element->value = $subject->sub_details; $new_element->created_at = new DateTime(); $new_element->updated_at = new DateTime(); $new_element->save(); $intro_lesson_id++; } } foreach ($lessons as $lesson) { $new_lesson['id'] = $lesson->les_id; $new_lesson['name'] = $lesson->les_name; $new_lesson['subject_subject_id'] = $lesson->les_subjectid; $new_lesson['lesson_order'] = $lesson->les_sort; $new_lesson['created_at'] = new DateTime(); $new_lesson['updated_at'] = new DateTime(); $new_lesson['type'] = 'درس'; $new_lesson['state'] = $lesson->les_active; $new_lessons[] = $new_lesson; if ($lesson->les_video) { $new_element = new Element(); $new_element->subject_lesson_id = $lesson->les_id; $new_element->title = 'المحاضرة المرئية'; $new_element->element_order = 1; $new_element->state = 'نشط'; $new_element->type = 'فيديو'; $new_element->value = $lesson->les_video; $new_element->created_at = new DateTime(); $new_element->updated_at = new DateTime(); $new_element->save(); if ($new_element->file->size() < 600) { // $new_element->delete(); } } if ($lesson->les_proceduralgoals) { $new_element = new Element(); $new_element->subject_lesson_id = $lesson->les_id; $new_element->title = 'الاهداف الاجرائية'; $new_element->element_order = 2; $new_element->state = 'نشط'; $new_element->type = 'PDF'; $new_element->file = "https://el-css.edu.om/" . $lesson->les_proceduralgoals; $new_element->created_at = new DateTime(); $new_element->updated_at = new DateTime(); $new_element->save(); if ($new_element->file->size() < 600) { // $new_element->delete(); } } if ($lesson->les_mapconcepts) { $new_element = new Element(); $new_element->subject_lesson_id = $lesson->les_id; $new_element->title = 'خريطة المفاهيم'; $new_element->element_order = 3; $new_element->state = 'نشط'; $new_element->type = 'PDF'; $new_element->file = "https://el-css.edu.om/" . $lesson->les_mapconcepts; $new_element->created_at = new DateTime(); $new_element->updated_at = new DateTime(); $new_element->save(); if ($new_element->file->size() < 600) { // $new_element->delete(); } } if ($lesson->les_lecturecontent) { $new_element = new Element(); $new_element->subject_lesson_id = $lesson->les_id; $new_element->title = 'المحتوى'; $new_element->element_order = 4; $new_element->state = 'نشط'; $new_element->type = 'PDF'; $new_element->file = "https://el-css.edu.om/" . $lesson->les_lecturecontent; $new_element->created_at = new DateTime(); $new_element->updated_at = new DateTime(); $new_element->save(); if ($new_element->file->size() < 600) { $new_element->delete(); } } if ($lesson->les_summary) { $new_element = new Element(); $new_element->subject_lesson_id = $lesson->les_id; $new_element->title = 'الملخص'; $new_element->element_order = 5; $new_element->state = 'نشط'; $new_element->type = 'PDF'; $new_element->file = "https://el-css.edu.om/" . $lesson->les_summary; $new_element->created_at = new DateTime(); $new_element->updated_at = new DateTime(); $new_element->save(); if ($new_element->file->size() < 600) { $new_element->delete(); } } if ($lesson->les_pdf) { $new_element = new Element(); $new_element->subject_lesson_id = $lesson->les_id; $new_element->title = 'نسخة للطباعة'; $new_element->element_order = 10; $new_element->state = 'نشط'; $new_element->type = 'PDF'; $new_element->file = "https://el-css.edu.om/" . $lesson->les_summary; $new_element->created_at = new DateTime(); $new_element->updated_at = new DateTime(); $new_element->save(); if ($new_element->file->size() < 600) { $new_element->delete(); } } } // foreach(array_chunk($new_subjects, 1000) as $chunk) { // DB::table('subject_subjects')->insert($chunk); // } foreach (array_chunk($new_lessons, 1000) as $chunk) { DB::table('subject_lessons')->insert($chunk); } }