Yii: Relations PaRaDokS 09 Июл 2012, 16:58 Доброго времени суток, проблема заключается в том что при добалении метода Relations к модели у меня перестают отображаться все страницы связанные с этой моделью. Браузер просто выдает пустую страницу, на которой вообще ничего нет, фактически даже html кода, просто пустой документ. помогите разобраться в чем дело: Вот код самого метода: public function relations() { return array('fields' => array(self::HAS_MANY, 'CategoryFields', 'id_category')); } Вот структура БД модели в которой идет связка: ** * This is the model class for table "category". * * The followings are the available columns in table 'category': * @property integer $id * @property string $title * @property string $description * @property integer $id_parent * @property integer $update_time * @property integer $ordering * @property string $paid * @property integer $price * @property integer $sales * @property integer $id_image */ Вот структура БД модели с которой связываемся: /** * This is the model class for table "category_fields". * * The followings are the available columns in table 'category_fields': * @property integer $id * @property integer $id_category * @property string $name * @property string $description * @property string $fieldtype * @property integer $id_virtual_catalog * @property string $additional_options * @property string $default_value * @property integer $maybemany * @property string $css_class * @property integer $order_ */ Версия Yii: 1.1.10 --------------- Akdmeh 09 Июл 2012, 17:01 Если ничего не выводит - значит где-то ошибка синтаксиса php. Включи отображение всех ошибок и попытайся найти её. --------------- manyrus 09 Июл 2012, 19:49 Имею смелость предположить, что ты сидишь на linux. Конечно, отображение ошибок везде можно отключить/включить и всё это специфично, но думаю, что у тебя linux :) Надо просто включить отображение ошибок. ini_set('display_errors','On'); error_reporting(E_ALL); В начале index.php. Это решение костыльное, т.к. у yii, думаю, есть специальный инструмент для работы с ошибками, всё таки большой фреймворк. --------------- Маньяк 09 Июл 2012, 19:54 manyrus, на сколько помню define('YII_DEBUG', TRUE); перед подключением yii. Но если ошибка фатальная, то это естественно не поможет --------------- Akdmeh 09 Июл 2012, 20:04 4, скорее всего это ошибка синтаксиса, поэтому и посоветовал сразу включить ошибки. Дебаггер yii вряд ли отловит ошибку синтаксиса (я правда пока не проверял, сам только-только изучаю) --------------- [Diwms] 10 Июл 2012, 0:19 В самый вверх index.php, после открывающего тега разумеется, добавьте это: ini_set("display_errors","1"); ini_set("display_startup_errors","1"); ini_set('error_reporting', E_ALL); Связи прописаны в обеих классах? В `CategoryFields` должно быть что-то вроде: public function relations() { return array('categories'=>array(self::HAS_MANY, 'Category', 'id')); } А в `category`: public function relations() { return array('category'=>array(self::BELONGS_TO, 'CategoryFields', 'id_category')); } Что то в этом роде. И да, все модели должны наследовать класс CActiveRecord. --------------- Маньяк 10 Июл 2012, 4:34 Akdmeh, отловит, на то он и отладочный режим --------------- [Diwms] 10 Июл 2012, 13:07 Маньяк, Не отловит, если ошибка возникнет до загрузки --------------- Маньяк 10 Июл 2012, 16:49 [Diwms], ясень пень) и до загрузки не думаю что кто либо будет писать кучу кода, так что не велика потеря --------------- PaRaDokS 11 Июл 2012, 12:27 Спасибо народ, что-то я забыл что на серваке у нас отключен показ ошибок =D Вот что выдает apache: Fatal error: Cannot redeclare Category::relations() in ..\models\Category.php on line 114 Я так понимаю проблема в полиморфизме, а точней в правах доступа к методу. Кто раньше сталкивался с такой ошибкой? как ее исправить? Я бы загуглил, но дело в том что доступ к инету сейчас с телефона, что крайне не удобно =( --------------- san 11 Июл 2012, 13:15 каком полиморфизме?) У тебя метод два раза определен :D --------------- Анархист 11 Июл 2012, 13:31 Вот что выдает apache: Fatal error: Cannot redeclare Category::relations() in ..\models\Category.php on line 114 - Фатальная ошибка: Невозможно переопределить категорию :: отношений () в .. \ моделям \ category.php на линии 114 - переопределить.. изначально определено,но ты хочешь переопределить. ---------------