akaunting/database/seeds/Dashboards.php

64 lines
1.5 KiB
PHP
Raw Normal View History

2019-11-16 10:21:14 +03:00
<?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++;
}
}
}
}