Видимо, я ничё не понимаю в ORM вообще и DBIx::Class в частности.
Элементарная для чистого SQL задача: вывести отсортированный по алфавиту список людей может решаться, например, таким запросом: SELECT CONCAT_WS(' ', lname, fname, sname) AS name
FROM user
ORDER BY name;
Попытки перевести этот запрос на DBIx::Class - сплошь и рядом безуспешные, не
(
Read more... )
Comments 9
Reply
Reply
Ну и вообще подобное обсуждалось у меня в комментах примерно год назад и пришли к выводу, что лучше это делать программно в цикле уже после получения ссылки на весь массив.
upd: хотя не, у постгри гроуп конкат помоему нет...
Reply
( ... )
Reply
Как-то так:
'columns' => [
{
'name' => {
'concat_ws' => ["' '", 'lname', 'fname', 'sname'],
'-as' => 'name',
},
},
]
DBIx::Class умеет превращать ключи хешей в имена функций и ключевые слова.
Reply
Вернее так, чтобы символ пробела не воспринимался как имя поля:
'columns' => [
{
'name' => {
'concat_ws' => [\[q(' ')], 'lname', 'fname', 'sname'],
'-as' => 'name',
},
},
]
Reply
select => [ \'CONCAT_WS(' ', lname, fname, sname) AS name' ],
as => ['name'],
order_by => ['name']
)
Reply
Leave a comment