private function addLikes($mediaItem) { $noUsers = SiteUser::count(); if ($noUsers <= 0) { $this->command->info("Can't add likes. No users!"); return; } $noToCreate = rand(0, 10); if ($noToCreate > 0) { $users = SiteUser::take($noToCreate)->get(); for ($i = 0; $i < $noToCreate; $i++) { $like = new MediaItemLike(array("is_like" => rand(0, 1))); $user = $users[rand(0, count($users) - 1)]; $like->siteUser()->associate($user); $like->mediaItem()->associate($mediaItem); $like->save(); } } }
/** * Run the database seeds. * * @return void */ public function run() { DB::statement('SET FOREIGN_KEY_CHECKS=0;'); LiveStream::truncate(); MediaItem::truncate(); MediaItemComment::truncate(); MediaItemLike::truncate(); MediaItemLiveStream::truncate(); MediaItemVideo::truncate(); Permission::truncate(); PermissionGroup::truncate(); QualityDefinition::truncate(); LiveStreamUri::truncate(); Playlist::truncate(); Show::truncate(); SiteUser::truncate(); User::truncate(); VideoFile::truncate(); DB::table("media_item_to_playlist")->truncate(); DB::table("permission_to_group")->truncate(); DB::table("user_to_group")->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $this->command->info('Tables truncated!'); }
private function registerLikeDislike($siteUser, $isLike) { return DB::transaction(function () use(&$isLike, &$siteUser) { $like = $this->likes()->where("site_user_id", $siteUser->id)->first(); if (is_null($like)) { $like = new MediaItemLike(array("is_like" => $isLike)); $like->siteUser()->associate($siteUser); $this->likes()->save($like); return true; } else { if ((bool) $like->is_like !== $isLike) { $like->is_like = $isLike; $like->save(); return true; } } return false; }); }