<?php /** * Created by Error202 * Date: 31.07.2018 */ namespace common\modules\banners\widgets; use common\modules\banners\entities\Banner; use common\modules\banners\entities\BannerPlace; use yii\base\Widget; class BannerWidget extends Widget { public $id; public function run() { $place = BannerPlace::findOne($this->id); if (!$place) { return 'Place is not found'; } $banners = Banner::find() ->active() ->showTime() //->excludeFree() ->andWhere(['place_id' => $place->id]) ->all(); if (!$banners || $place->isDraft()) { return ''; } /* @var $banner Banner */ $banner = $banners[array_rand($banners)]; return $this->render('banner', [ 'banner' => $banner, ]); } }