@666Wolf666

Ошибка all to a member function getSize() on a non-object почему не обьект?

Проблема в запросе.
У меня выводится таблица товаров( в БД параметры прописаны как id из других таблиц).
Я использую такие функции для вывода, раньше все работал а сейчас натолкнулся и все...
/*Prev-tovar.tpl выводит таблицу товаров*/
<div class="prev_tovar">			
	<ul>
	<?php for ($i = 0; $i < count($this->products); $i++) { ?>
		<div class="line_tov">
			<div class="td_tov"><?=$this->products[$i]["prod_title"]?></div>
			<div class="td_tov"><?=$this->products[$i]["sku"]?></div>
			<div class="td_tov"><?=$this->products[$i]["size_title"]?></div>
			<div class="td_tov"><?=$this->products[$i]["color_id"]?></div>
			<div class="td_tov"><?=$this->products[$i]["sleve_id"]?></div>
			<div class="td_tov"><?=$this->products[$i]["cloth_id"]?></div>
			<div class="td_tov"><?=$this->products[$i]["sklad_id"]?></div>
			<div class="td_tov"><?=$this->products[$i]["price"]?> грн.</div>
			<div class="td_tov"><?=$this->products[$i]["count"]?> шт.</div>
		</div>
		<div class="clear"></div>
	<?php } ?>
	</ul>	
</div>

/*Обработка контента categorycontent_class.php*/
<?php
require_once "modules_class.php";

class CategoryContent extends Modules {
	
		private $category_info;
		private $product_info;
	
	protected function getContent() {
		
		$this->category_info = $this->category->get($this->data["id"]);
		$this->category_info_all = $this->category->getAllData();
		
		$this->product_info = $this->product->getAllCatProd($this->category_info["id"]);
		
		$this->template->set("items", $this->category->getAllChildCat($this->category_info["id"]));
		$this->template->set("products", $this->product->getAllCatProd($this->category_info["id"]));
		
		return "category";
	}
}
?>

<?php
require_once "global_class.php";

class Product extends GlobalClass {
	
	public function __construct() {
		parent::__construct("products");
	}
	
	/*Возвращает ввесь список товаров*/
	public function getAllData () {
		return $this->transform($this->getAll());
	}
	
	/*Возвращает товар определенной категории*/
	public function getAllCatProd ($id) {
		return $this->transform($this->getAllOnField("cat_id", $id));
	}
	
	/*Добавляет данные в массив данных*/
	protected function transformElement($products) {
		$products["size_title"] = $this->size->getSize($product["size_id"]);/*Присваиваю определенному значению size_id size_title */
		return $products; 
	}
}
?>

<?php
require_once "global_class.php";

class Size extends GlobalClass {
	
	public function __construct() {
		parent::__construct("size");
	}
	/*Возвращает ввесь список размеров*/
	public function getAllData () {
		return $this->transform($this->getAll());
	}
	/*Собственно функция  которая выводит название размера*/
	public function getSize($id) {
		$size = $this->getOnField("id", $id);
		return $size["size_title"];
	}
	
	protected function transformElement($products) {
		
		return $products; 
	}
}
?>


Сама функци возвращает значение, то которое нужно ели передавать параметры из categorycontent_class.php. А в продукт если вызываю функцию, то выдает вот такую ошибку:

mod_fcgid: stderr: PHP Notice: Undefined property: Product::$size in /var/www/vhosts/medshvetsmarka.com.ua/sklad.medshvetsmarka.com.ua/lib/product_class.php on line 22

mod_fcgid: stderr: PHP Fatal error: Call to a member function getSize() on a non-object in /var/www/vhosts/medshvetsmarka.com.ua/sklad.medshvetsmarka.com.ua/lib/product_class.php on line 22

Уже вторые сутки борюсь не могу найти ошибку. Спасибо за помощь...
  • Вопрос задан
  • 259 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Undefined property: Product::$size
Call to a member function getSize() on a non-object

Куда еще подробнее?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы