Exemplo n.º 1
0
    public static function adWithAllFields($id)
    {
        self::dbConnect();
        $query = 'SELECT ' . static::$table . '.*, username, keyword_id, keyword, category, image_id, image_url FROM ' . static::$table . ' LEFT JOIN ' . User::getTableName() . ' ON users.id = ' . static::$table . '.user_id 
			LEFT JOIN categories ON ' . static::$table . '.category_id = categories.id
			LEFT JOIN ad_image ON ' . static::$table . '.id = ad_image.ad_id
			LEFT JOIN images ON ad_image.image_id = images.id 
			LEFT JOIN ad_keyword ON ' . static::$table . '.id = ad_keyword.ad_id 
			LEFT JOIN ' . Keyword::getTableName() . ' ON ad_keyword.keyword_id = keywords.id 
			WHERE ' . static::$table . '.id = :id';
        $stmt = self::$dbc->prepare($query);
        $stmt->bindValue(':id', $id, PDO::PARAM_INT);
        $stmt->execute();
        while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
            $results['id'] = $result['id'];
            $results['username'] = $result['username'];
            $results['title'] = $result['title'];
            $results['description'] = $result['description'];
            $results['price'] = $result['price'];
            $results['date_posted'] = $result['date_posted'];
            $results['category'] = $result['category'];
            $results['keywords'][$result['keyword_id']] = $result['keyword'];
            $results['image_urls'][$result['image_id']] = $result['image_url'];
        }
        $instance = null;
        if ($results) {
            $instance = new static();
            $instance->attributes = $results;
        }
        return $instance;
    }