public function compose($view) { $proposals = Proposal::all(); $proposals_count = $proposals->count(); $approvals_count = Approval::all()->count(); $users_count = User::all()->count(); $not_responded_count = round($proposals->where('approved_by', null)->where('disapproved_by', null)->where('response', null)->count() / $proposals->count() * 100, 2); $view->with(compact('proposals_count'))->with(compact('approvals_count'))->with(compact('users_count'))->with(compact('not_responded_count')); }
| Model Factories |-------------------------------------------------------------------------- | | Here you may define all of your model factories. Model factories give | you a convenient way to create models for testing and seeding your | database. Just tell the factory how a default model should look. | */ use App\Proposal; use App\State; use App\User; use Illuminate\Support\Facades\Request; $factory->define(App\User::class, function (Faker\Generator $faker) { return ['name' => $faker->name, 'email' => $faker->email, 'password' => Hash::make('123456'), 'remember_token' => str_random(10), 'role_id' => $faker->randomElement([1, 2, 99]), 'uf' => State::all()->shuffle()->first()->uf, 'cpf' => $faker->cpf, 'uuid' => $faker->uuid]; }); $factory->defineAs(App\User::class, 'admin', function (Faker\Generator $faker) use($factory) { $user = $factory->raw(App\User::class); //Admin 0 return array_merge($user, ['role_id' => 0]); }); $factory->define(App\Proposal::class, function (Faker\Generator $faker) { $random = $faker->boolean($chanceOfGettingTrue = 20); return ['name' => $faker->sentence($nbWords = 6, $variableNbWords = true), 'user_id' => User::all()->shuffle()->first()->id, 'open' => true, 'idea_central' => $faker->text($maxNbChars = 100), 'problem' => $faker->paragraph($nbSentences = 3, $variableNbSentences = true), 'idea_exposition' => $faker->realText($maxNbChars = 200, $indexSize = 2), 'response' => $response = $faker->randomElement($array = [null, $faker->realText($maxNbChars = 100, $indexSize = 2), $faker->text($maxNbChars = 50)]), 'responder_id' => !$response ? null : User::all()->where('role_id', 1)->shuffle()->first()->id, 'disapproved_at' => !$response ? null : \Carbon\Carbon::now(), 'disapproved_by' => !$response ? null : User::all()->where('role_id', 1)->shuffle()->first()->id, 'approved_at' => $response ? null : ($random ? null : \Carbon\Carbon::now()), 'approved_by' => $response ? null : ($random ? null : User::all()->where('role_id', 1)->shuffle()->first()->id), 'created_at' => \Carbon\Carbon::now(), 'updated_at' => \Carbon\Carbon::now(), 'pub_date' => \Carbon\Carbon::now(), 'limit_date' => \Carbon\Carbon::now()->addMonth(config('global.timeLimitMonth'))]; }); $factory->define(App\Like::class, function (Faker\Generator $faker) { $user_id = User::all()->shuffle()->first()->id; return ['user_id' => $user_id, 'proposal_id' => Proposal::all()->shuffle()->first()->id, 'uuid' => User::where('id', $user_id)->first()->uuid, 'like' => $faker->boolean($chanceOfGettingTrue = 70), 'ip_address' => Request::ip()]; }); $factory->define(App\ProposalFollow::class, function (Faker\Generator $faker) { return ['user_id' => User::all()->shuffle()->first()->id, 'proposal_id' => Proposal::all()->shuffle()->first()->id]; });