64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Database\Seeds;
 | |
| 
 | |
| use App\Abstracts\Model;
 | |
| use App\Models\Common\Widget;
 | |
| use App\Models\Common\Dashboard;
 | |
| use App\Models\Common\DashboardWidget;
 | |
| use Illuminate\Database\Seeder;
 | |
| 
 | |
| class Dashboards extends Seeder
 | |
| {
 | |
|     /**
 | |
|      * Run the database seeds.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function run()
 | |
|     {
 | |
|         Model::unguard();
 | |
| 
 | |
|         $this->create();
 | |
| 
 | |
|         Model::reguard();
 | |
|     }
 | |
| 
 | |
|     private function create()
 | |
|     {
 | |
|         $user_id = $this->command->argument('user');
 | |
|         $company_id = $this->command->argument('company');
 | |
| 
 | |
|         $rows = [
 | |
|             [
 | |
|                 'company_id' => $company_id,
 | |
|                 'user_id' => $user_id,
 | |
|                 'name' => trans('general.dashboard'),
 | |
|                 'enabled' => 1,
 | |
|             ]
 | |
|         ];
 | |
| 
 | |
|         foreach ($rows as $row) {
 | |
|             $dashboard = Dashboard::create($row);
 | |
| 
 | |
|             $widgets = Widget::where('company_id', $company_id)->orderBy('created_at','desc')->get();
 | |
| 
 | |
|             $sort = 1;
 | |
| 
 | |
|             foreach ($widgets as $widget) {
 | |
|                 DashboardWidget::create([
 | |
|                     'company_id' => $company_id,
 | |
|                     'user_id' => $user_id,
 | |
|                     'dashboard_id' => $dashboard->id,
 | |
|                     'widget_id' => $widget->id,
 | |
|                     'name' => $widget->name,
 | |
|                     'settings' => $widget->settings,
 | |
|                     'sort' => $sort
 | |
|                 ]);
 | |
| 
 | |
|                 $sort++;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |