public function getPrevious() { $rowset = Movies::query()->where('id < :id:', ['id' => $this->id])->orderBy('id DESC')->limit(1)->execute(); if ($rowset->count()) { return $rowset[0]; } else { return Movies::findFirst(['order' => 'id DESC']); } }
public function getRelatedMovies() { if (null == $this->relatedMovies) { $this->relatedMovies = Movies::query()->rightJoin('Listables', 'Listables.listable_type = "Movies" AND Listables.listable_id = Movies.id')->where('Listables.list_id = :id:', ['id' => $this->id])->execute(); } return $this->relatedMovies; }
public function getSerialListMovies() { if ($this->serialListMovies == null) { $movies = Movies::query()->leftJoin('Serials', 'Serials.movie_id = Movies.id')->Where('Serials.tvSerial_id = :tvSerial_id:', ['tvSerial_id' => $this->id])->orderBy('Serials.year,Serials.serial_num')->columns(['Movies.*', 'Serials.*'])->execute(); $result = []; foreach ($movies as $m) { $movie = $m->movies; $movie->serial_num = $m->serials->serial_num; $movie->serial_id = $m->serials->id; $result[] = $movie; } $this->serialListMovies = $result; } return $this->serialListMovies; }
public function movies() { //@todo 为什么此处返回的不是Moives的对象呢?这里比较奇怪! $movies = Movies::query()->rightJoin('Taggables', 'Taggables.taggable_id = Movies.id')->where('Taggables.tag_id = :id:', ['id' => $this->id])->andWhere('Taggables.taggable_type = :type:', ['type' => 'Movies'])->groupBy('Movies.id')->execute(); return $movies; }
/** * @return Movies */ public function getMovie() { if (null == $this->movie) { $this->movie = Movies::query()->where('id = :id:', ['id' => $this->movie_id])->execute()->getFirst(); } return $this->movie; }
/** * @return Movies */ public function getMovie() { if (null == $this->movie) { $this->movie = Movies::query()->leftJoin('Serials', 'Serials.movie_id = Movies.id')->where('Serials.id = :serial_id:', ['serial_id' => $this->serial_id])->execute()->getFirst(); } return $this->movie; }