Yii Framework Forum: Select Name Из Другой Таблицы По Внешнему Ключу - Yii Framework Forum

Jump to content

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

Select Name Из Другой Таблицы По Внешнему Ключу Rate Topic: -----

#1 User is offline   Naymen 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 13-May 13

Posted 15 May 2013 - 09:22 PM

Есть sql запрос, его нужно перевести в AR:
Модель Groups.php
  public static function fullnameList() {
            return $z=Yii::app()->db->createCommand('SELECT CONCAT(sur_name,  first_name,  parent_name) as fullName
FROM ge_personal,ge_tutor_course where  ge_personal.personal_id =  ge_tutor_course.f_tutor_id')->queryRow();
            echo $z;
       }


Если sql запрос выполнять phpmyadmin, то запрос выполняется правильно.
Выдает только две записи, которые соотвествуют таблице ge_tutor_course.

Данные в БД
ge_tutor_course
 tutor_course_id 	f_tutor_id 	f_course_id
 	1 	2 	1
       2 	3 	2

----------
ge_personal
 personal_id 	sur_name 	first_name 	parent_name 	
2 	Иванченко 	Сергей 	Викторович 	
3 	NULL	Смирнова 	Екатеринина 	NULL	



Помогите, все ни как не могу перевести этот запрос в AR
public static function fullnameList() {
return Yii::app()->db->createCommand('SELECT CONCAT(sur_name,  first_name,  parent_name) as fullName
FROM ge_personal,ge_tutor_course where  ge_personal.personal_id =  ge_tutor_course.f_tutor_id')->queryColumn();
echo $z(fullName);

Этот запрос выводит конечно, но вот так:

1368633672-clip-5kb.png

Попробовал перевести в AR:

public static function personalList() {
            return CHtml::listData(Personal::model()->findAll(),'personal_id', 'fullname');
       }
       
 public static function getfullnameList() {
      
           return CHtml::listData(TutorCourse::model()->findAll(),'tutor_course_id', 'personal');
      }


Получаю пустой вывод:
1368634388-clip-3kb.png

_from.php
    <?php echo $form->dropDownListRow($model,'f_tutor_id', Groups::fullnameList(), array('empty'=>'--Выберите преподавателя--', 'class'=>'span5')); ?>


Модель TutorCourse.php

public function getFullName() { return $this->sur_name." ".$this->first_name." ".$this->parent_name; }
       
        public static function getPersonalList() {
            return CHtml::listData(Personal::model()->findAll(),'personal_id', 'fullname');
       }
       
        public static function getFullnameList() {
      
           return CHtml::listData(TutorCourse::model()->findAll(),'tutor_course_id', 'personal');
      }

Может такой метод вывода ФИО не работает?
Т.к. я пытаюсь вызвать ФИО из второй таблицы:
1368663287-clip-13kb.png

Attached File(s)


0

#2 User is offline   Artur Zhdanov 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 112
  • Joined: 12-May 13
  • Location:Russia

Posted 16 May 2013 - 02:15 AM

Не уверен что правильно Вас понял, но возможно так:

$criteria = new CDbCriteria();
$criteria->select = 'CONCAT(sur_name,  first_name,  parent_name) as fullName';
$criteria->join = 'JOIN ge_tutor_course ON ge_personal.personal_id =  ge_tutor_course.f_tutor_id';
//$criteria->condition = 'ge_personal.personal_id =  ge_tutor_course.f_tutor_id';
$result = Personal::model()->findAll($criteria);

Помог с вопросом? Нажми тут ↓
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