public function images($limit = 50)
    {
        if (count($this->imagesTagged) >= 1) {
            return $this->imagesTagged;
        }

        $parent = str_replace('AppModels', '', stripslashes(static::class));

        $rows = DB::select("SELECT images.*, image_tag.id as image_tag_id, image_tag.is_cover
            FROM $this->table
            INNER JOIN image_tag ON image_tag.subject_id = $this->table.id
            INNER JOIN images ON images.id = image_tag.image_id
            WHERE images.deleted_at IS NULL AND $this->table.id = ? AND image_tag.subject_type LIKE ?
            GROUP BY images.id
            ORDER BY image_tag.is_cover DESC, images.updated_at DESC
            LIMIT $limit", [$this->id, '%' . $parent]);

        //$this->imagesTagged = $rows;

        $images = collect();
        // filter active and get photos for entry
        foreach ($rows as $k => $row) {

            $item = $row;
            $item->thumb = substr_replace($row->name, Image::$thumbAppend, strpos($row->name, '.'),
                0);

            $item->original = substr_replace($row->name, Image::$originalAppend,
                strpos($row->name, '.'), 0);

            $images->push($item);
        }

        $this->imagesTagged = $images;

        return $this->imagesTagged;

        // old / default way
        return $this->hasMany(ImageTag::class, 'subject_id', 'id')
            ->where('subject_type', get_class($this))
            ->with('image')
            ->orderBy('created_at', 'DESC');
    }
public function images($limit = 50)
    {
        if (count($this->imagesTagged) >= 1) {
            return $this->imagesTagged;
        }

        $parent = str_replace('AppModels', '', stripslashes(static::class));

        $rows = DB::select("SELECT images.*, image_tag.id as image_tag_id, image_tag.is_cover
            FROM $this->table
            INNER JOIN image_tag ON image_tag.subject_id = $this->table.id
            INNER JOIN images ON images.id = image_tag.image_id
            WHERE images.deleted_at IS NULL AND $this->table.id = ? AND image_tag.subject_type LIKE ?
            GROUP BY images.id
            ORDER BY image_tag.is_cover DESC, images.updated_at DESC
            LIMIT $limit", [$this->id, '%' . $parent]);

        //$this->imagesTagged = $rows;

        $images = collect();
        // filter active and get photos for entry
        foreach ($rows as $k => $row) {

            $item = $row;
            $item->thumb = substr_replace($row->name, Image::$thumbAppend, strpos($row->name, '.'),
                0);

            $item->original = substr_replace($row->name, Image::$originalAppend,
                strpos($row->name, '.'), 0);

            $images->push($item);
        }

        $this->imagesTagged = $images;

        return $this->imagesTagged;

        // old / default way
        return $this->hasMany(ImageTag::class, 'subject_id', 'id')
            ->where('subject_type', get_class($this))
            ->with('image')
            ->orderBy('created_at', 'DESC');
    }
public function images ( $ limit = 50 ) { if ( count ( $ this -> imagesTagged ) >= 1 ) { return $ this -> imagesTagged ; } $ parent = str_replace ( 'AppModels' , '' , stripslashes ( static :: class ) ) ; $ rows = DB :: select ( "SELECT images.*, image_tag.id as image_tag_id, image_tag.is_cover
            FROM $this->table
            INNER JOIN image_tag ON image_tag.subject_id = $this->table.id
            INNER JOIN images ON images.id = image_tag.image_id
            WHERE images.deleted_at IS NULL AND $this->table.id = ? AND image_tag.subject_type LIKE ?
            GROUP BY images.id
            ORDER BY image_tag.is_cover DESC, images.updated_at DESC
            LIMIT $limit" , [ $ this -> id , '%' . $ parent ] ) ; //$this->imagesTagged = $rows; $ images = collect ( ) ; // filter active and get photos for entry foreach ( $ rows as $ k => $ row ) { $ item = $ row ; $ item -> thumb = substr_replace ( $ row -> name , Image :: $ thumbAppend , strpos ( $ row -> name , '.' ) , 0 ) ; $ item -> original = substr_replace ( $ row -> name , Image :: $ originalAppend , strpos ( $ row -> name , '.' ) , 0 ) ; $ images -> push ( $ item ) ; } $ this -> imagesTagged = $ images ; return $ this -> imagesTagged ; // old / default way return $ this -> hasMany ( ImageTag :: class , 'subject_id' , 'id' ) -> where ( 'subject_type' , get_class ( $ this ) ) -> with ( 'image' ) -> orderBy ( 'created_at' , 'DESC' ) ; }
Get the images tagged to this model
@param int $limit
@return \Eloquent
Get the images tagged to this model