lexxkrt
-
Публікації
347 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Коментарі блогу, опубліковані користувачем lexxkrt
-
-
2 минуты назад, SooR сказал:
А, все таки автоматизма нет?) Для запросов типа select * from user order by user_id может и полезная штука для домохозяек, в остальном не вижу смысла. Это моя позиция, не обязательно соглашаться.
во всех orm и кверибилдерах есть возможность выполнять чистый sql запрос, ради бога если запрос сложный то делай его, а для простых запросов билдер упрощает работу.
а инсерты в кверибилдерах например
DB::table('products')->insert($data);
а чистый sql как будет выглядеть при этом? причем $data это может быть не одна запись, а массив записей
-
3 минуты назад, stickpro сказал:
1 вы скорее сойдете сума, 2 потеряете в производительности,
первое возможно, а второе с чего бы, тот же кверибилдер собирает ту же sql строку, плюс сделает за вас грязную работу по экранированию да префиксы подставит
-
4 минуты назад, SooR сказал:
Разница есть. А еще есть разница между 0000334 и 334, когда нужно найти запись по номеру договора или просто вот по такому идентификатору.
ну так данные ты передаешь
$query->where('num','=', 334)
$query->where('num,'=', '0000334')
т.е. изначально ты подставляешь переменную нужного типа. из 0000334 после экранирования 334 не получится, как и наоборот
-
8 минут назад, SooR сказал:
А вы уверены, что обертка экранирует '1' как int, а не string? А как на счет экранирования bigint(20)?
а какая разница как экранирует для mysql where id = 1 и where id = '1' это одно и тоже
-
1 минуту назад, chukcha сказал:
смотрите в 4-ку
По идее почти так, например стандартные модули от опенкарт собраны вextension\opencart\
нет я сосем про другое. там просто папка расширения вынесена, но контроллеры модели а также папки расширений лежат раньше самих файлов. я же предлагаю порядок extensions/author/module_name/{controller,model,language,view}. т.е. модуль целиком в единой папке, а не по разным
- 1
-
27 минут назад, SooR сказал:
$payments->where('cashtypeid', '=', '1'); $payments->orWhere('cashtypeid','=','4');
Серьезно? Вам проще писать строку с запятыми и кавычками, чем просто строку?
Проще же WHERE foo = 'bar' AND baz = 3.
А копировать запрос и делать отладку прямиком в базу? А откорректированный запрос вставить в $this->db->query()? Не проще ли?
не проще. потому что в вашем случае, например, вы строку не экранируете
- 1
-
в принципе можно ничего и не добавлять. поработать с кодом, вычистить, избавиться от портянок, избавиться от дублирования кода, избавиться например от необходимости каждый раз создавать хлебные крошки, пусть генерируются от маршрута. избавиться от обработки переменных (объектов) в контроллерах. либо получать готовые из моделей, либо обрабатывать в твиге. переработать формирование урлов, опять же портянки.
систему модулей/расширение я бы предложил сделать в одну папку, один модуль одна папка, т.е. тут же контроллер, рядом файл модели рядом языковые файлы и вьюхи. dbbuilder или голый sql это по сути одно и тоже вопрос предпочтений,
- 2
-
даже не знаю что добавить. вроде все сказано. может быть orm и composer (PSR).
3 вещи, которых мне больше всего не хватает в OpenCart
в Блог sv2109
Блог користувача: sv2109
Опубліковано:
компилируемый язык не проверяет sql запрос, который простая строка. а в случае билдера интеллисенс подскажет где ошибся. но это уже отклонение от темы. тут речь об опенкарте