The WishMaster#: А за "народную" "медицину" я бы ввёл уголовную ответственность.
Надо уметь отделять котлеты от мух!
Я в 16м году полгода по больницам бегал, всех врачей обошёл каких только анализов не сдавал, денег на лапу и тд. все говорили ничего нет, а в платных ещё хуже.. Молодые девчонки хихикают только. Никто правильный диагноз не могли поставить. Терапевт помню спросил: давно болит? Полгода. Ну типа это говорит ещё мало, помирать будешь приходи. И таких полно. В медицине абсолютно ничего не понимают.
Я накупил книг, энциклопедий по медицине и сам себе диагноз поставил, лекарства подобрал и народными методами в том числе вылечился. Многих знаю моих ровесников кого уже нет, не такие сообразительные были.
Так что я врачам уголовную ответственность за халатность лучше сделал.
Уже ничего. Бывают моменты кода не знаешь как что сделать. Напишешь публично на форуме о своей боли и через некоторое время проблемы волшебным образом решаются.
ЗЫ. Удивительно, но это работает. Спасибо всем, что отвечаете, пусть не по теме и далеко от сути вопроса, всё же это помогает сдвинутся и идти дальше. Sly32, извини, хотелось бы чтобы своими мозгами зашевелил, конструктивного общения и обсуждения вариантов решения, а не отсылки на уже готовые, в моём случае не интересные решения. Так как у меня тоже есть инет и я тоже умею гуглить...
Дикий пионер#: Насколько я понял из стартпоста - проблема, грузить ли все связи сразу или по запросу полей. Для этого есть термины lazy load, eager load, насколько я в курсе. Мне кажется, что это надо сделать конфигурируемым, а то если вытаскивать всегда и всё - есть риск за один запрос какого-нито пользователя всю базу вытащить.
Когда создавал тему я не понимал как сделать модели связей. Сейчас у меня есть понимание, так как я долго сидел над листком бумаги, прорисовывал разные варианты, затем проверял свои теории делая тестовые таблицы и запросы, процедуры и функции. Сейчас у меня есть чёткое понимание, что и как будет работать, дело как говорится за малым, осталось только это реализовать в коде.
Итак, пока опишу словами как у меня сделано и как собираюсь сделать для связей таблиц(сущностей).
Есть класс данных(Data) через который указываются источник данных, параметры отбора данных, производится загрузка данных. Все данные находятся этом классе в виде массивов. Для работы с данными нужно получить сущность $Entity=$data->alias; где $Entity - объект сущности с которым далее можно работать, а alias - это наименование сущности. Работа с сущностью простая, для получения свойства $Entity->svoystvo, для изменения $Entity->svoystvo='значение' и тд. Система всю работу с базой будет делать сама, изменять, удалять и тд.
Теперь как я сделаю чтобы связать сущность с другими таблицами. Для связи с какой либо таблицей добавляется поле с определённым типом, ограничениями и тд. Для связи многие ко многим я буду использовать нестандартный подход, который тестировал с применением процедуры, созданием динамически запроса и работой с JSON данными. В коде можно вызвать функцию и увидеть маршруты всех связей данной сущности. Затем перед получением данных указывается пути к нужным данным, система загружает эти данные, далее с ними можно работать как описано выше. Если в сущности будут произведены изменения, то эти изменения будут отражены и в базе данных. При необходимости можно подгружать данные как выше было сказано про ленивую загрузку.
А такие есть? Мне кажется SQL любой студент знает, причем не как язык, а как приложение у основному - будь то шарпист, пхпшник или java-программист. Кроме чистого фронтенда его все должны знать по умолчанию, а так как у вас БД, то вообще все.
Согласен, что без знаний как делаются SQL запросы даже с современными ORM будет сложновато проектировать сущности и работать с ними. Но всё же думаю если определить некие модели(таблиц и их связей) объяснить людям как с ними работать в коде, то не зная SQL можно будет работать с данными, а система уже эти данные будет добавлять, изменять, удалять при необходимости в базе данных сама(причём это может быть несколько разных БД). По мне это намного упростит и ускорит работу создания сайтов.
Помню как ты кричал, что никакая ОРМ тебе не нужна, облажался и полез делать и снова облажался..
Модеры, закрывайте этот бред, короче
Ничего не облажался. Тогда сделал составление данных сущности из разных таблиц, у каждой таблицы только два поля id и значение тип данных которого разный. И данные для сущности собирались по её описанию. Система рабочая, в принципе можно использовать, возможно под какие либо задачи это буду применять.
Я не стою на месте, ORM в таком виде какие они сейчас есть мне действительно не нужны. Но всё же я решил сделать для своего фреймворка свою ORM для облегчения людям работы с БД и др. источниками данных. Мне понравилась сама идея, что людям не нужно самим писать SQL запросы, даже знать как и что хранится в базе, просто проектировать нужные сущности, а ORMка сделает всю нужную работу в БД, вот только реализация ужасная.. идея норм, я могу сделать своё и лучше, так почему я этого не должен делать. Почему ты пытаешься меня постоянно остановить, для чего это тебе нужно?
Всё застряло по "идейным" причинам. Или говноИдейным
Интересно узнать, что за идейные причины были?
Да, конечно же, я тебе поверил на слово.
Не дай бог если заболеешь чем то серьёзным, тогда узнаешь..
ЗЫ. В Китае народной медициной больше всего лечатся, вот там действительно эффективные временем проверенные способы...
А за "народную" "медицину" я бы ввёл уголовную ответственность.
Надо уметь отделять котлеты от мух!
Я в 16м году полгода по больницам бегал, всех врачей обошёл каких только анализов не сдавал, денег на лапу и тд. все говорили ничего нет, а в платных ещё хуже.. Молодые девчонки хихикают только. Никто правильный диагноз не могли поставить. Терапевт помню спросил: давно болит? Полгода. Ну типа это говорит ещё мало, помирать будешь приходи. И таких полно. В медицине абсолютно ничего не понимают.
Я накупил книг, энциклопедий по медицине и сам себе диагноз поставил, лекарства подобрал и народными методами в том числе вылечился. Многих знаю моих ровесников кого уже нет, не такие сообразительные были.
Так что я врачам уголовную ответственность за халатность лучше сделал.
Мне многие на листе ручкой пишут, особенно кому за 50. Наглядно и понятно. Остальное словами.
Потом по почте присылают? 😀 Сканер с фотиком то не у всех есть. Хотя если скайпом пользоваться умеют могут по вебке листок показать 😀
предожения "напиши парсер" не подходят
Закажи парсер
Что конкретно требуется от форумчан?
Уже ничего. Бывают моменты кода не знаешь как что сделать. Напишешь публично на форуме о своей боли и через некоторое время проблемы волшебным образом решаются.
ЗЫ. Удивительно, но это работает. Спасибо всем, что отвечаете, пусть не по теме и далеко от сути вопроса, всё же это помогает сдвинутся и идти дальше. Sly32, извини, хотелось бы чтобы своими мозгами зашевелил, конструктивного общения и обсуждения вариантов решения, а не отсылки на уже готовые, в моём случае не интересные решения. Так как у меня тоже есть инет и я тоже умею гуглить...
Насколько я понял из стартпоста - проблема, грузить ли все связи сразу или по запросу полей. Для этого есть термины lazy load, eager load, насколько я в курсе. Мне кажется, что это надо сделать конфигурируемым, а то если вытаскивать всегда и всё - есть риск за один запрос какого-нито пользователя всю базу вытащить.
Когда создавал тему я не понимал как сделать модели связей. Сейчас у меня есть понимание, так как я долго сидел над листком бумаги, прорисовывал разные варианты, затем проверял свои теории делая тестовые таблицы и запросы, процедуры и функции. Сейчас у меня есть чёткое понимание, что и как будет работать, дело как говорится за малым, осталось только это реализовать в коде.
Итак, пока опишу словами как у меня сделано и как собираюсь сделать для связей таблиц(сущностей).
Есть класс данных(Data) через который указываются источник данных, параметры отбора данных, производится загрузка данных. Все данные находятся этом классе в виде массивов. Для работы с данными нужно получить сущность $Entity=$data->alias; где $Entity - объект сущности с которым далее можно работать, а alias - это наименование сущности. Работа с сущностью простая, для получения свойства $Entity->svoystvo, для изменения $Entity->svoystvo='значение' и тд. Система всю работу с базой будет делать сама, изменять, удалять и тд.
Теперь как я сделаю чтобы связать сущность с другими таблицами. Для связи с какой либо таблицей добавляется поле с определённым типом, ограничениями и тд. Для связи многие ко многим я буду использовать нестандартный подход, который тестировал с применением процедуры, созданием динамически запроса и работой с JSON данными. В коде можно вызвать функцию и увидеть маршруты всех связей данной сущности. Затем перед получением данных указывается пути к нужным данным, система загружает эти данные, далее с ними можно работать как описано выше. Если в сущности будут произведены изменения, то эти изменения будут отражены и в базе данных. При необходимости можно подгружать данные как выше было сказано про ленивую загрузку.
А такие есть? Мне кажется SQL любой студент знает, причем не как язык, а как приложение у основному - будь то шарпист, пхпшник или java-программист. Кроме чистого фронтенда его все должны знать по умолчанию, а так как у вас БД, то вообще все.
Согласен, что без знаний как делаются SQL запросы даже с современными ORM будет сложновато проектировать сущности и работать с ними. Но всё же думаю если определить некие модели(таблиц и их связей) объяснить людям как с ними работать в коде, то не зная SQL можно будет работать с данными, а система уже эти данные будет добавлять, изменять, удалять при необходимости в базе данных сама(причём это может быть несколько разных БД). По мне это намного упростит и ускорит работу создания сайтов.
Помню как ты кричал, что никакая ОРМ тебе не нужна, облажался и полез делать и снова облажался..
Модеры, закрывайте этот бред, короче
Ничего не облажался. Тогда сделал составление данных сущности из разных таблиц, у каждой таблицы только два поля id и значение тип данных которого разный. И данные для сущности собирались по её описанию. Система рабочая, в принципе можно использовать, возможно под какие либо задачи это буду применять.
Я не стою на месте, ORM в таком виде какие они сейчас есть мне действительно не нужны. Но всё же я решил сделать для своего фреймворка свою ORM для облегчения людям работы с БД и др. источниками данных. Мне понравилась сама идея, что людям не нужно самим писать SQL запросы, даже знать как и что хранится в базе, просто проектировать нужные сущности, а ORMка сделает всю нужную работу в БД, вот только реализация ужасная.. идея норм, я могу сделать своё и лучше, так почему я этого не должен делать. Почему ты пытаешься меня постоянно остановить, для чего это тебе нужно?
ЗЫ. Отвали уже.