[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: В YII2 связать 3 таблицы mysql
Wet
Есть таблицы mysql:
1)
id name
1 Вася
2 Иван
3 Таня

2)
id user_id employee_id
1 _2 ____ 2
2 _1 ____ 1
3 _3 ____ 2

3)
id employee
1 Директор
2 Продавец

Создал все необходимые модели для всех 3х таблиц в gii. В CRUD создал поисковую модель, контроллер и вьюхи по модели 2й таблицы. На выходе получаем данные из 2й таблицы. И наконец задача: Вывести(связать, наверное как-то в ActiveRecord) данные в таком виде:
Иван Продавец
Вася Директор
Таня Продавец

Подскажите пжл как это реализовать
Игорь_Vasinsky
ту несколько вариантов

либо нужны связи в виде ralations

тогда в запросе можно будет использовать with
либо использовать join

в любом случае нужен запрос в билдере

http://www.yiiframework.com/doc-2.0/guide-...aving-relations
http://www.yiiframework.com/doc-2.0/yii-db-query.html

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Wet
Я до этого прописывал в модели 2й таблицы:
/**
*
@return \yii\db\ActiveQuery
*/

public function getEMPLOYEE()
{
return $this->hasOne(Employees::className(), ['ID' => 'EMPLOYEE_ID']);
}

/**
*
@return \yii\db\ActiveQuery
*/

public function getPOSITION()
{
return $this->hasMany(Positions::className(), ['ID' => 'POSITION_ID'])->viaTable('employees', ['EMPLOYEE_ID' => 'ID']);
}


В таком виде как-нить возможно связать?
Игорь_Vasinsky
зачем капс ? связь должна называться по имени таблицы и начинаться с get - только такая свяязь будет считаться связью

    /**
*
@return \yii\db\ActiveQuery
*/

public function getOrder()
{
return $this->hasOne(Order::className(), ['id' => 'order_id']);
}


    /**
*
@return \yii\db\ActiveQuery
*/

public function getCallCenter()
{
return $this->hasOne(CallCenter::className(), ['id' => 'call_center_id']);
}



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Wet
Спасибо! Разобрался
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.