Yii Framework Forum: Зависимости "relation" - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Зависимости "relation" проблема с созданием и работой нескольких реляционных моделей Rate Topic: -----

#1 User is offline   Traveller_ 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 20
  • Joined: 22-March 13

Posted 22 March 2013 - 11:06 AM

Существует 2 табоицы:
tbl_event - модель Repertoire
tbl_category - модель Category

tbl_event
  • id
  • title
  • category_id
  • ...


tbl_category
  • id
  • title
  • ...


Мне надо выбрать Category.title работая с Repertoire.
Я прописываю зависимость в Repertoire
return array(
	'category'=>array(self::BELONGS_TO,'Category','category_id'),
);


Мой метод индекс:
public function actionIndex()
{
	$model=new Repertoire('search');
	
	$model->unsetAttributes();  // clear any default values
	if(isset($_GET['Repertoire']))
		$model->attributes=$_GET['Repertoire'];
	
	$this->render('index',array(
		'model'=>$model,
	));
}


Вид индекс:
<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'repertoire-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'id'=>array(
			'name'=>'id',
			'headerHtmlOptions'=>array('width' => 20),
		),
		'title',
		...
		'category_id'=>array(
			'name'=>'category_id',
			'value'=>'$data->category->title',
			'filter'=>Category::allCategories(),
		),
		array(
			'class'=>'CButtonColumn',
			'viewButtonOptions'=> array('style'=>'display:none'),
		),
	),
)); ?>


Выбивает ошибку Trying to get property of non-object для
...
'category_id'=>array(
			'name'=>'category_id',
			'value'=>'$data->category->title',
...

Подскажите пожалуйста, что тут не так?
P.s. Пока писал это все, возникло подозрение, что это может быть из-за того, что у меня повторяются поля title
P.p.s. Проверил - проблема не в одинаковых полях
0

#2 User is offline   Yurkiy Dev 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 5
  • Joined: 09-December 12

Posted 23 March 2013 - 12:18 AM

Индекс должен выглядеть как приведен ниже
<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'repertoire-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'id'=>array(
			'name'=>'id',
			'headerHtmlOptions'=>array('width' => 20),
		),
		'title',
		...
		array(
			'name'=>'category_id',
			'value'=>'$data->category->title',
			'filter'=>Category::allCategories(),
		),
		array(
			'class'=>'CButtonColumn',
			'viewButtonOptions'=> array('style'=>'display:none'),
		),
	),
)); ?>

0

#3 User is offline   Traveller_ 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 20
  • Joined: 22-March 13

Posted 25 March 2013 - 09:21 AM

Та же самая ошибка.
Дело не в индексе, как мне кажется. Я делал print_r обьекта модели - там массив с relations пуст. Что-то не так с зависимостями
0

#4 User is offline   Traveller_ 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 20
  • Joined: 22-March 13

Posted 26 March 2013 - 02:30 PM

Все, проблема решена. Бился несколько дней, а оказывается - проблема из-за того, что в базе catrgory_id была не заполнена.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users