Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
ORM один ко многим http://forum.kohanaframework.su/viewtopic.php?f=33&t=659 |
Страница 3 из 4 |
Автор: | borodatych [ 12 июн 2013, 13:39 ] |
Заголовок сообщения: | Re: ORM один ко многим |
Цитата: а это не так - этим действием ты просто копируешь пустую Опять не соглашусь, надо было сразу брякнуть... Код:
Получаю: ..извиняюсь за портянку, для полноты, может косяки повсплывают.. Код:
Как мы видим это объект. |
Автор: | AmberLEX [ 12 июн 2013, 14:57 ] |
Заголовок сообщения: | Re: ORM один ко многим |
Аж заинтриговали) Но явно че-то перемудрили. Помойму тут все проще: Код:
И не нужен никакой $order->items; хотя можно попробовать вместо ORM::factory('items'); |
Автор: | WinterSilence [ 12 июн 2013, 15:18 ] |
Заголовок сообщения: | Re: ORM один ко многим |
Цитата: ты просто копируешь пустую(т.е. с незаполненными полями данных) модель Цитата: Как мы видим это объект. а модель что не объект что ли? AmberLEX> об этом и речь |
Автор: | borodatych [ 12 июн 2013, 15:43 ] |
Заголовок сообщения: | Re: ORM один ко многим |
to AmberLEX Ну, во первых вы вынесли из цикла -сохраняются последние обработанные данные, а во вторых: Код:
Аналогично: Код:
Мне первое так и так вызывать, так что для моей ситуации равнозначное решение. to WinterSilence Из прошло - выше: Я - И вот тут мы в цикле создаем новый пустой объект(единицу покупки) через связь в ORM! Вы - почему ты уверен что он у тебя каждый раз новый создается? Я - Ну а как еще? Это же ООП. На сколько могу судить - создается новый пустой объект, разве нет? Вы - этим действием ты просто копируешь пустую(т.е. с незаполненными полями данных) модель ..и тут я вошел в ступор.. и предположил что вы про строку/массив/или еще чего там пишите.. А разве копирование - это не создание нового? По моему да. Я так и написал сперва. |
Автор: | WinterSilence [ 12 июн 2013, 15:53 ] |
Заголовок сообщения: | Re: ORM один ко многим |
создание и "копирование" разные вещи. что проще еще одного тебя вырастить и воспитать или сделать твой клон? ты кстати в курсе чем скажем $new = $obj; от $new = clone $obj; отличается? Цитата: Ну, во первых вы вынесли из цикла -сохраняются последние обработанные данные я объяснил уже как этого избежать смотри вот получил ты в школе двойку, что проще дневник весь переписать или двойку затереть? также и с памятью сервера. это мелочи, но на них все и строится. у тебя идет подмена понятий, я на этом тоже горел пока копаться в этом не стал. я уже приводил тут пример для проверки своего знания php, что вернет строка, вернее даже почему именно такой результат Код:
пока ответы на такие вопросы не найдешь все твое программирование будет напоминать плутание в дебрях |
Автор: | borodatych [ 12 июн 2013, 16:24 ] |
Заголовок сообщения: | Re: ORM один ко многим |
Цитата: создание и "копирование" разные вещи. Почему вы уверены, что происходит клонирование объекта, а не создание? То есть по вашему Kohana при связи создает один пустой объект и потом при каждом обращении клонирует его? ..по моему бред.. Возможно то что в system, кроме: Код:
более ни где не встречается clone, будет убедительным доводом, что идет именно создание нового объекта. Код:
Это конечно еще тот примерчик, да и к текущей теме не относится. Это из ряда ребусов, нежели повседневной работы. В школе тоже были олимпиады, где много было выходящего за кругозор, что не использовалось в жизни. Цитата: я уже приводил тут пример для проверки своего знания php Сами то вы можете рассказать что тут происходит? И хотя бы парочку примеров, где это может повстречаться и для чего такое нужно использовать? Цитата: ты кстати в курсе чем скажем $new = $obj; от $new = clone $obj; отличается? В курсе |
Автор: | AmberLEX [ 12 июн 2013, 16:26 ] |
Заголовок сообщения: | Re: ORM один ко многим |
Цитата: Ну, во первых вы вынесли из цикла -сохраняются последние обработанные данные Так работает мой вариант или нет?
|
Автор: | borodatych [ 12 июн 2013, 16:26 ] |
Заголовок сообщения: | Re: ORM один ко многим |
нет, если внести в цикл, то да. |
Автор: | AmberLEX [ 12 июн 2013, 16:29 ] |
Заголовок сообщения: | Re: ORM один ко многим |
У вас orders к items - один-ко-многим Вы берете каждый товар из корзины и сохраняете каждый в items для order одного order так? |
Автор: | WinterSilence [ 12 июн 2013, 16:30 ] |
Заголовок сообщения: | Re: ORM один ко многим |
Прототип, (англ. Prototype) — порождающий шаблон проектирования. Задаёт виды создаваемых объектов с помощью экземпляра-прототипа и создаёт новые объекты путём копирования этого прототипа. Проще говоря, это паттерн создания объекта через клонирование другого объекта вместо создания через конструктор. Паттерн используется чтобы: - избежать дополнительных усилий по созданию объекта стандартным путем (имеется в виду использование конструктора, т. к. в этом случае также будут вызваны конструкторы всей иерархии предков объекта), когда это непозволительно дорого для приложения. http://ru.wikipedia.org/wiki/%D0%9F%D1% ... 8%D1%8F%29 |
Страница 3 из 4 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |