Прошу помочь со следующими вопросами, т.к. в мане не нашел к сожалению ответа, а в гугле не знаю как спросить.
Ситуация такая: есть таблица users и таблица languages. В languages находится список языков, таблицы связаны промежуточной languages_users (связь многие ко многим), а также в languages_users имеются два дополнительных поля.
Так вот вопросы:
1. как добавить языки для юзера с указанием значений для этих 2-х полей (назовем их `languages_users`.`data1` и `languages_users`.`data2`)
2. как мне получить данные по этим двум полям для каждого конкретного юзера
??
по первому вопросу:
например $user->add('languages', array($data['speak'], $data['learn']) - так я добавляю два языка для юзера, но те 2 поля принимают дефотные значения...
прийдется переопределять метод ORM::add() ? или же есть штатные возможности?
по второму вопросу что-то вообще ничего в голову, кроме извращений, не приходит...
Семён, я верю в тебя ))
Спустя 8 часов, 46 минут, 52 секунды (19.01.2012 - 10:29) Oyeme написал(а):
Покажите полностью код метода добавления и вывода.
Добавление таким способом выглядит не совсем логичным.Так как ,у Вас даже нет ключей в массиве.Что делает такую структуру запутанной и не удобной.
Самый рациональный способ это использования,что-то наподобие active records.
Я бы переписал метод добавление и обновления данных ,примерно вот так вот:
Добавление таким способом выглядит не совсем логичным.Так как ,у Вас даже нет ключей в массиве.Что делает такую структуру запутанной и не удобной.
array($data['speak'], $data['learn'])
Самый рациональный способ это использования,что-то наподобие active records.
Я бы переписал метод добавление и обновления данных ,примерно вот так вот:
$user->language_1 = $data['speak'];
$user->language_2 = $data['learn'];
$user->first_additional_field = 'first_field_value';
$user->second_additional_field = 'second_field_value';
$user->save();
Спустя 2 минуты, 16 секунд (19.01.2012 - 10:31) SlavaFr написал(а):
Цитата (Invis1ble @ 18.01.2012 - 22:42) |
1. как добавить языки для юзера с указанием данных в этих 2-х полях 2. как мне получить данные по этим двум полям для каждого конкретного юзера |
1) добавить строчку с нужным id-языкоa, с нужным id-юзера и нужными значениями тех двух полей о которых ты говорил в таблицу languages_users .
2)
select pole1, pole2 from languages_users where user_id= xxx
дальше не совсем понятно.
Спустя 4 часа, 56 минут, 13 секунд (19.01.2012 - 15:27) Invis1ble написал(а):
Oyeme
Цитата |
Покажите полностью код метода добавления и вывода. |
речь идет о фреймворке Kohana 3.2, это его api, там слишком много кода
http://kohanaframework.org/3.2/guide/api/ORM#add
Цитата |
Добавление таким способом выглядит не совсем логичным.Так как ,у Вас даже нет ключей в массиве.Что делает такую структуру запутанной и не удобной. |
в data['speak'] и $data['learn'] находятся первичные ключи из languages
SlavaFr
как это проделать с помощью нативного php и sql я в курсе, меня интересует, имеется ли возможность решить мои вопросы с помощью api
Спустя 4 минуты, 24 секунды (19.01.2012 - 15:32) Семён написал(а):
Есть статейка где всё детально разжёвано:
http://progik.ru/blog/framework-Kohana-nemnogo-teorii-ob-ORM
----
От себя хочу сказать, что ORM это всё красиво, но по факту говно и стоит вообще задуматься использовать ли её в своём проекте.
Я был очень удивлён каким поганым образом Auth коханы через ORM извлекает групповые настройки.
http://progik.ru/blog/framework-Kohana-nemnogo-teorii-ob-ORM
----
От себя хочу сказать, что ORM это всё красиво, но по факту говно и стоит вообще задуматься использовать ли её в своём проекте.
Я был очень удивлён каким поганым образом Auth коханы через ORM извлекает групповые настройки.
Спустя 55 секунд (19.01.2012 - 15:33) Invis1ble написал(а):
Семён
спасибо, сейчас почитаю
спасибо, сейчас почитаю
Спустя 33 минуты, 33 секунды (19.01.2012 - 16:06) Invis1ble написал(а):
Семён
Цитата |
Есть статейка где всё детально разжёвано: http://progik.ru/blog/framework-Kohana-nemnogo-teorii-ob-ORM |
к сожалению, все что описано в статье мне уже известно из мана, а по моей проблеме ничего не сказано...
Спустя 4 минуты, 20 секунд Invis1ble написал(а):
ПС. Если что-то непонятно описал - могу дополнить
Спустя 6 минут, 40 секунд (19.01.2012 - 16:13) Семён написал(а):
Сейчас чуто освобожусь постараюсь написать
Спустя 14 часов, 7 минут, 17 секунд (20.01.2012 - 06:20) Invis1ble написал(а):
Изначальный вариант был не совсем удачным, поэтому я немного поменял архитектуру БД, и проблема решилась сама собой.
Спустя 11 часов, 1 минута, 50 секунд (20.01.2012 - 17:22) Zhandos написал(а):
Вот наткнулся в гугле, может кому-то интересно будет. Решение твоей проблемы с добавлением данных в промежуточную таблицу. Придется править модуль ORM.
Спустя 8 минут, 50 секунд (20.01.2012 - 17:31) Invis1ble написал(а):
Zhandos
спасибо за ссылку, попозже почитаю (сейчас бегло ознакомился - так и думал, что без напильника проблема не решается)
спасибо за ссылку, попозже почитаю (сейчас бегло ознакомился - так и думал, что без напильника проблема не решается)
_____________
Профессиональная разработка на заказ
Я на GitHub | второй профиль