ФорумПрограммированиеPHP для идиотов → какую ORM лучше использовать

какую ORM лучше использовать

  • lekafe

    Сообщения: 149 Репутация: N Группа: Адекваты

    Spritz 20 марта 2012 г. 8:36, спустя 10 минут 2 секунды

    master, ну вот например тут
    http://www.propelorm.org/documentation/03-basic-crud.html#retrieving_rows
    $authors = AuthorQuery::create()
     ->filterByFirstName('Jane')
     ->find();

    получается что нужно писать фильтры, если я правильно понял {+++50+++}
    Зато есть такая штука как custom repository, в них ты через dbal можешь писать свои запросы на dql(чем то похож на sql, переносим на большинство языков зарпосов)

    dbal я и в Zend_Db без проблем юзаю.
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 20 марта 2012 г. 8:40, спустя 4 минуты 14 секунд

    фильтры - это другое
    не всё полезно, что в swap полезло
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 20 марта 2012 г. 8:46, спустя 5 минут 54 секунды

    ну раж уж САМ МЭТЬЮ!..
  • phpdude

    Сообщения: 26615 Репутация: N Группа: в ухо

    Spritz 20 марта 2012 г. 8:59, спустя 12 минут 17 секунд

    пиздец топик. скрываю :)
    Сапожник без сапог
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 20 марта 2012 г. 9:01, спустя 2 минуты 33 секунды

    phpdude, не скрыл :D
  • lekafe

    Сообщения: 149 Репутация: N Группа: Адекваты

    Spritz 20 марта 2012 г. 9:09, спустя 8 минут 13 секунд

    mario, не могу найти.
  • Абырвалг

    Сообщения: 6477 Репутация: N Группа: Джедаи

    Spritz 20 марта 2012 г. 9:20, спустя 10 минут 25 секунд

    Абырвалг, пруф или пиздабол :D

    не, это вы доказывайте обратное, что можно ее извлечь
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 20 марта 2012 г. 13:42, спустя 4 часа 22 минуты 40 секунд



    Пользуюсь Django ORM, вполне хватает, но SQL Alchemy будет покруче конечно
    Ну вот насчет хватает, я не знаю. Мне нефига не хватает, там даже банальный джоин двух произвольных таблиц не сделать, не говоря уж про GROUP_CONCAT или array_agg.
    ну вот например "GROUP_CONCAT", ты просто думаешь как в SQL, перестань это делать, сделай средствами питона и джанги
    и не надо смотреть на скорость работы select_related/prefetch_related

    ну либо переписывай на SQL, если это так нужно




    Мне важнее скорость разработки, а оптимизацией заниматся можно целенаправленно отдавай под нее целый спринт
    adw/0
  • kostyl

    Сообщения: 5199 Репутация: N Группа: Джедаи

    Spritz 20 марта 2012 г. 14:00, спустя 17 минут 21 секунду

    Самый крутой ОРМ, это тот, в который можно пульнуть произвольный запрос, а он тебе сущности, и писать при этом только запрос. Причем это всё должно работать максимум в пару уровней абстракций. Остальное всё бывает такое громоздкое или не гибкое или что бы сделать исключительную ситуацию надо ввалить кучу кода для какой то фигнюшки.
  • phpdude

    Сообщения: 26615 Репутация: N Группа: в ухо

    Spritz 20 марта 2012 г. 14:11, спустя 11 минут 13 секунд

    kostyl, ты права
    Сапожник без сапог
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 20 марта 2012 г. 14:13, спустя 2 минуты 14 секунд

    kostyl, приведи пример
  • kostyl

    Сообщения: 5199 Репутация: N Группа: Джедаи

    Spritz 20 марта 2012 г. 14:27, спустя 14 минут 8 секунд

    Sinkler, не видел таких, такие обычно каждый сам пишет ;)
    Это может быть что то типа такого
    $users->find(1); // Ну тут как обычно
    $user->findForSuperHujuperView(); // Хитровыебанная выборка, причем в результате сущьность может приобрести дополнительные поля ))
    //——
    public function findForSuperHujuperView() {
    return $this->_findWithSql('select …., SUBSTRING(…..), …. from … join …. left join …. where … and…. or …. group by …. order by ….');
    }
    {+++101+++} ну бля может не полностью раскрыл, но суть в том что должно быть всё легко и просто, один базовый класс для сущьностей и еще пару каких то и всё…
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 20 марта 2012 г. 14:31, спустя 4 минуты 2 секунды

    в кейке есть немного такого, типа
    $this->User->findByLogin('kostyl');

    на выходе там могут быть связанные модели
  • kostyl

    Сообщения: 5199 Репутация: N Группа: Джедаи

    Spritz 20 марта 2012 г. 14:36, спустя 4 минуты 27 секунд

    Sinkler, везде есть немного, где то есть почти но не до конца, просто универсального не бывает…
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 20 марта 2012 г. 14:36, спустя 29 секунд

    kostyl, ну так напиши!)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!