Yii Framework Forum: Связанные Таблицы - Yii Framework Forum

Jump to content

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

Связанные Таблицы Rate Topic: -----

#1 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 205
  • Joined: 14-January 13

Posted 18 January 2013 - 09:41 PM

Доброе утро всем. Есть две таблицы: table1(основная) и table2, а также связывающая таблица table1_table2(мнгогие ко многим). Есть еще одна таблица - table3. Хочу вывести в представлении table3 данные из table2, но чет ничего не выходит - или ошибка или выводит вообще непонятно что :blink:
0

#2 User is offline   smertnik77 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 02-April 10

Posted 19 January 2013 - 11:58 AM

Дружище, только по коду можно понять где ошибка , скопировать несложно же).
1

#3 User is offline   yii-primer 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 23-January 13

Posted 28 January 2013 - 07:10 AM

>>>>>>Есть еще одна таблица - table3. Хочу вывести в представлении table3 данные из table2,
через rules в модели для table3 не помешает задать отношения с моделями хранящимися в table2.
table1 здесь - судя по условию задачи -вообще ни при чём)
[мой Yii blog]
1

#4 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 205
  • Joined: 14-January 13

Posted 29 January 2013 - 12:15 PM

Добрый вечер всем, сорри долго не писал, был немного занят ;)
Вот код представления view модели Genre:
<?php foreach($model->films as $g){
			
        echo '<b>'.CHtml::link(CHtml::encode($g->title), array('/film/'.$g->id)).'</b> / '; 

        echo '<b>'.CHtml::link(CHtml::encode($g->orig_title), array('/film/'.$g->id)).'</b><br/>';

        echo CHtml::link(CHtml::encode($g->year->year), array('/year/'.$g->y_id)).'<br/><br/>';

        echo CHtml::link(CHtml::encode($g->country->state), array('/country/'.$g->s_id)).'<br/><br/>';

        echo CHtml::link(CHtml::encode($g->director->director), array('/year/'.$g->y_id)).'<br/><br/>';

        echo CHtml::link(CHtml::encode($g->year->year), array('/year/'.$g->y_id)).'<br/><br/>';

        // echo CHtml::link($g->actor->a_name,array('/actor/'.$g->a_id));

        //echo CHtml::encode($g->year_id);
  }

?>

<h4>Актеры: <?php 
	foreach($model->actorlist as $a){

        echo CHtml::link($a->a_name,array('/actor/'.$a->a_id)); => вот это нифига работать не хочет(Не 

определено свойство "Genre.actorlist".)  :( 

       // echo ' ';
  }
	 ?></h4>

<h4>Актеры: <?php 

	foreach($model->films as $a){

        echo CHtml::link($a->a_name,array('/actor/'.$a->a_id)); => вот это тоже нифига работать не хочет(Не 

определено свойство "Genre.films".)  :( 

       // echo ' ';
  }
	 ?></h4>


Основная модель Film - в ней прописаны все связи, но как к примеру вывести из БД значения модели Actor в модели Genre не пойму. Между собой они не связаны, а связаны каждая через таблицу связей с моделью Film. Надеюсь понятно, о чем я :) Помогите пожалуйста, уже мозги кипят, вторые сутки не сплю, а оно не работает... :blink:
0

#5 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 317
  • Joined: 03-September 11

Posted 01 February 2013 - 07:41 AM

В следующей версии от связей MANY_MANY откажутся, т.к. пользовать две HAS_MANY гораздо понятнее.
У вас стоит задача определить актеров играющих в фильмах определенного жанра? Если через отношения, то я не знаю как это оформить, много-ко-многим почти не приходилось использовать. Но ни что не мешает сделать все руками. Например определить в Genre функцию getActors в которой конструируя SQL запросы получить список ID фильмов жанра, потом еще запрос что бы получить AR актеров, которые снимались в фильмах с этими IDs.
1

#6 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 205
  • Joined: 14-January 13

Posted 01 February 2013 - 10:46 AM

Ок, спасибо, значит я напрасно с ними заморачивался, буду углубляться в HAS_MANY. Огромное вам спасибо :)
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