Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 20 апр 2024, 00:08

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: связи ORM
СообщениеДобавлено: 11 фев 2013, 18:01 
Не в сети
Зеленый

Зарегистрирован: 11 фев 2013, 15:31
Сообщения: 2
Здравствуйте,
пожалуйста помогите разобраться с ORM....

После нескольких раз прочтения мануалов на русскоязычных и зарубежных сайтах, проблемы не решились,

К примеру, есть таблица users и profiles, отношение между ними _has_one, но при выполнении метода add, кохана начинает ругаться на отсутствие идентификатора 'profile', находящегося в свойстве has_one. Если связку изменить на has_many, то ругается на не переданное название таблицы.
В чем может быть проблема?

и еще вопрос. можно ли как-нибудь передавать вторым параметром add не один id а массив, для сохранения массива в субтаблице?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: связи ORM
СообщениеДобавлено: 12 фев 2013, 02:55 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
Насколько я помню, методы add, remove и has можно использовать только при отношении many-many.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: связи ORM
СообщениеДобавлено: 12 фев 2013, 16:04 
Не в сети
Зеленый

Зарегистрирован: 11 фев 2013, 15:31
Сообщения: 2
возможно ли выполнить средствами ORM следующий запрос ?

Код:
select * from (

 SELECT * FROM `user_friends` AS `f`
 LEFT JOIN `users` as `u`
 ON `f`.`user_id` = `u`.`id` 
 WHERE (`f`.`user_id` = 1 OR `f`.`friend_id`=1)
 UNION
 SELECT * FROM `user_friends` AS `f`
 RIGHT JOIN `users` as `u`
 ON `f`.`friend_id` = `u`.`id`
 WHERE (`f`.`user_id` = 1 OR `f`.`friend_id`=1)
) as `tr` where `id` != 1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: связи ORM
СообщениеДобавлено: 13 фев 2013, 20:04 
Не в сети
Бывалый

Зарегистрирован: 09 авг 2012, 13:17
Сообщения: 43
Код:
$user =ORM::factory('user');
$friends=$user->userfriends->where('user_id', '=', '1',)->or_where('friend_id', '=', '1',)->as_array('id');
foreach ($friends as $id)
        {
            $user->where('id', '=', $id,)->and_where('id', '!=', 1,)->find_all();   
        }
Может как то так?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group