Как добавить сортировку по полю в связи phalcon? - PullRequest
0 голосов
/ 31 января 2019

У меня есть ситуация, когда я хочу отсортировать свои видеоблоги по recent upload и views, то есть либо отсортировать по последним, либо отсортировать по просмотрам.Я попробовал приведенный ниже код, но теперь не знаю, что делать дальше?

$category = VideoBlogCategoryModel::getVideoBlogCategoryBySlug($categorySlug);
$category->getVideoBlogs(); // This is the relationship

Функция инициализации:

// Configure relation with VideoBlogModel
$this->hasMany('id', VideoBlogModel::class, 'category_id', array(
    'alias' => 'videoBlogs',
    'foreignKey' => true,
    'cxAction' => static::ACTION_CASCADE_DELETE,
    'params' => array(
        'order' => 'created_at DESC'
    )
));

Как мне сделать что-то вроде $category->getVideoBlogs('order','views DESC') или $category->getVideoBlogs('order','created_at DESC')?

Из функции инициализации вы можете видеть, что у меня уже есть параметр порядка, который выбирает видеоблоги в порядке убывания, однако я хочу, чтобы он был динамическим, чтобы я мог передать что-то вроде упорядочить по видам , как я уже упоминал выше.

Мой Ajax:

// Sort By Recent and Views Feature
$('.cx_sort_video').change(function(e){
    // loading bar
    parameters.sort = $(this).val();
    ajaxLoadVideo(parameters);
});

Сортировать по раскрывающемуся списку:

<li class="list-inline-item">
    <span>SORT BY: </span>
    <select style="border:0px;" class="cx_sort_video">
        <option> RECENT</option>
        <option> VIEWS</option>
    </select>
</li>

1 Ответ

0 голосов
/ 31 января 2019

Вам нужно будет использовать getRelated(<relationshipName/Alias>, <array>parameters)

$category->getRelated('videoBlogs', [
    'order' => 'created_at DESC'
]);
...