В прошлый раз я писал о том, как попробовал хостинг FirstVDS. Прошло некоторое время, и время более-менее расставило всё по своим местам. В общем я решил пока не рвать с этими ребятами, так что, как-только подойдёт время, этот блог будет опять переезжать.
Читать далее »
Недавно я вдруг решил перейти на VDS и получил тут некоторый негативный опыт.
В этом посте я постараюсь описать ситуацию, которая со мной приключилась.
Зачем это я хотел VDS
=====================
Однажды мне вдруг захотелось попробовать себя как недо-реселлера. У меня есть ряд клиентских сайтов, которые я сопровождаю. Казалось бы, взять их всех и перевести на один хостинг и самому брать с них деньги. А хостинг-то нужен самый обычный. Только чтобы не было ограничений на число сайтов!
Читать далее »
Я долго не мог понять, чего мне не хватает в штатном ORM от Kohana. А не хватало именно возможности использования выражений.
Бывало напишешь по-наивности какое-нибудь выражение прямо в where. Например, так:
1 | where('concat(first_name," ",last_name)',"like","%$searchstring%")... |
А потом получаешь ошибку, что нет такого поля 'concat(first_name," ",last_name)'
И вот однажды я в недрах интернетов нашёл решение, которое конечно же решил положить в мою копилку шпаргалок. Всё дело в использовании функции DB::expr. Вот например так:
1 2 3 4 5 6 7 | $searchresult=ORM::factory("user")-> where( DB::expr('concat(first_name," ",last_name)'), "like","%$searchstring%")-> order_by("id","desc")-> limit($data['per_page'])-> offset($data['offset'])-> find_all(); |
Воистину, ORM может всё, только нужно знать все его трещинки.
jCarousel Lite – классная, простая но в то же время очень гибкая карусель с отличной документацией. Но всё же мне есть что чиркнуть в шпаргалку.
Читать далее »
Вот уж не думал что в операторе UPDATE можно использовать ключевое слово ORDER. И никогда не думал, что такое мне пригодится!
Вот пример. Мне нужно сделать такой запрос:
1 | UPDATE t SET id = id + 1; |
Как ни странно запрос вызовет ошибку уникальности первичного ключа. Проблема в том, что апдейт делается последовательно для всех записей, а не сразу всех.
Вылечить проблему можно задав порядок апдейта с помощью ключевого слова ORDER.
1 | UPDATE t SET id = id + 1 ORDER BY id DESC; |
Дьявольски редко пригождающаяся вещь! Но иногда и палка стреляет.
RSS-подписка