![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
nepster |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 26.4.2009 Репутация: нет Всего: нет |
подскажите пожалуйста как работать с релейшинами в Yii
Пытаюсь соединить таблицу коды и типы по type_id Criteria
собственно никаких ошибок нет и слияния талиц тоже. В идеале работающий запрос на чистом SQL выглядит вот так
|
||||||||
|
|||||||||
Gromdron |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.9.2006 Репутация: 1 Всего: 1 |
А зачем именно критерии ? Почему нельзя через DAO работать ?
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
nepster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 26.4.2009 Репутация: нет Всего: нет |
да через это работает хорошо не спорю, но интересно все таки релизация через релейшини и критерию
|
|||
|
||||
nepster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 26.4.2009 Репутация: нет Всего: нет |
собственно получилось сделать так! подскажите пожалуйста, как сделать так, что бы в объект записывались не все данные из таблицы, а только нужные, например мне нужно добавить только поле type_name из талицы type. |
|||
|
||||
Gromdron |
|
||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.9.2006 Репутация: 1 Всего: 1 |
В спецификации YII, написано:
Соответственно попробуйте так:
Этот ответ добавлен с нового Винграда - http://vingrad.com |
||||
|
|||||
nepster |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 26.4.2009 Репутация: нет Всего: нет |
ольшое спасибо все заработало, осталось только 1 проблема.
Связи соответствуют 1 к 1. Тоесть к примеру для таблицы кодов (где есть номер типа), нужно достать имя типа из таблицы типов (номер типа это ПК) Тоесть если есть код где, номер типа 5, то естественно номеру 5 соотвествует только 1 строка. ияходя из документыции нужно использовать:
но при этом вылазит ошибка. И слелудующий момент, к примеру мне нужно достать все записи из таблицы кодов, где статус типа не равен 0. я прописал вот так
что эже получилось, по кодам достались все записи, а по типам сработала выборка. тоесть если использовать чистый SQL будет так:
а вот почему 'type'=>array('condition'=>'status!=0') применяется только к прикрепленной таблице ? Добавлено через 6 минут и 46 секунд Проблему решил, не внимательно писал код. работает с self::HAS_ONE |
||||||||||
|
|||||||||||
Gromdron |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.9.2006 Репутация: 1 Всего: 1 |
Насчет has_many гляну дома, а насчет таблицы - все правильно, вы же ставите условие только для подключенной при помощи with модели, а не для результата.
Вы же ставите в SQL условие: code.user_id=0 OR code.pt = 0 AND type.status!=0 А при работе указываете только: code.user_id=0 OR code.pt = 0 Отредактируйте $criteria->condition P.s. Используйте в соответствии с документацией полное именование столбца: т.е. Имя_таблицы.имя_столбца Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |