Класс обертки Mysqli by Koenig (Допилить)

9.18K
.
L!MP, мож тогда на орм замахнетесь?
.
flaky, да тыщи их уже. И без нас

Есть очень хорошая ActiveRecord из Laravel фреймворка.
Её можно установить компосером отдельно от фреймворка и пользоваться.
Выше головы не прыгнешь
.
L!MP, а в духе SQLAlchemy есть чтото?
.
flaky, а что там AR или DataMapper ? Есть и то и другое, но я не знаю чем так особенна SQLAlchemy
.
flaky
L!MP, и то и другое. особенна тем, что 99.9% запросов можно написать без использования SQL, так же очень хорошо настраиваться, можно связи тянуть леново, джоной, саб запросом или динамачеки. да и не только связи, там настраиваться дофига что. очень хорошо реальзована наследсвенность. так же есть плюшки в виде гибридных атрибутов(подходит для высчитыааемых полей, например first_name + last_name) ассоциации, кастомные колекции и еще много чего. единственный минус, тяжела в изучении.
.
(\/)____o_O____(\/)
L!MP, хотелось бы написать что то универсальное
типо метод который принимает 3 аргумента, поле значение действие, который в итоге формирует массив со всеми условиями, добавил 3 разных условия, получился массив из трех элементов, собрал и получил большое условие, но пока что то не дружит с плэйсхолдерами, буду дальше думать
.
Koenig, сделай запросы линивыми, т.е. просто запоминай все атрибуты сортировки без создания SQL и сделай метод который будет генерировать SQL из сохраненых атрибутов.
что то тип такого
$query = Query('users', '*')->where('age', '>=', 21) /* запроса нет, и формирования sql тоже, просто запомнили */
$query->where('sex', '=', 'male')
$result = $query->result() /*вот тут мы только формируем SQL и делаем запрос*/

сорь за ошибки, на пыхе уже более 2х лет не писал
.
flaky, так что бы и АR и DМ в одном, я не видил на РНР, однако всё что ты описал, есть в том же Еloquеnt из Lаrаvеl фреймворка или в актив рекорде из Yii.
Ленивая/жадная загрузка связей. Полиморфные связи. Каскадное обновление/удаление связей. Гибридные атрибуты. Коллекции обьектов с конвертацией всей коллекции в массив/json/xml. Встроеные механизмы пагинации и т.д.
.
L!MP, знач я хрново смотрел. а наследованое одно табличное или много? связи с наследование хорошо дружит? в одном запросе выборкм по разным детям возможна?
.
L!MP
flaky, в активрекордах такого нет. Т.е даже при наследовании одной модели от другой, всё будит записываться в одну таблицу.
А вот в дата мапперах есть.
Doctrinе 2, считай полный клон Java Hibernate. Там возможно всё что ты описал.
Всего: 362