Пример #1
0
 public function onSaveOrder()
 {
     $model = ReleaseType::find(post('item_ids')[0]);
     $model->setSortableOrder(post('item_ids'), post('item_orders'));
     if ($redirect = $this->makeRedirect('reorder')) {
         return $redirect;
     }
 }
 /**
  * Add audio and video as default types
  */
 public function run()
 {
     ReleaseType::create(['name' => 'Audio', 'type' => 'audio', 'filetype' => 'audio/mpeg', 'sort_order' => '2']);
     ReleaseType::create(['name' => 'Video', 'type' => 'video', 'filetype' => 'video/mp4', 'sort_order' => '1']);
     ReleaseType::create(['name' => 'Youtube', 'type' => 'youtube', 'sort_order' => '0']);
 }
Пример #3
0
 /**
  * Set components state based on parameters
  *
  * @throws ModelNotFoundException
  */
 public function setState()
 {
     $this->show = $show = Show::query()->where('slug', $this->property('showSlug'))->firstOrFail();
     $this->releaseType = $releaseType = ReleaseType::query()->where('slug', $this->property('releaseTypeSlug'))->firstOrFail();
     $this->episodes = $this->show->episodes()->with(['releases' => function (Relation $query) use($releaseType) {
         /** @var Relation|Builder $query */
         $query->where('release_type_id', $releaseType->id);
     }])->where('published', true)->whereHas('releases', function (Builder $query) use($releaseType) {
         $query->where('release_type_id', $releaseType->id);
     })->orderBy('release', 'desc')->take(intval($this->property('itemLimit')))->get();
     $this->episodes->map(function (Episode $episode) use($show) {
         $episode->setRelation('show', $show);
     });
 }