Laravel Сортировка по pivot

Проверенные VDS на SSD в Европе от $4 и России: Датацентр №1 от 199руб

Тема в разделе "Laravel", создана пользователем aleks_lv, 16 июл 2017.

  1. aleks_lv

    aleks_lv Новичок

    Сообщения:
    76
    Ваш город:
    Львов Украина
    Address:
    Lviv, Ukraine
    Country:
    Location on Map:
    Доброго
    есть табличка
    Код:
    CREATE TABLE `company_rating` (
      `id` int(11) NOT NULL,
      `company_id` int(10) UNSIGNED DEFAULT NULL,
      `rating_id` int(10) UNSIGNED DEFAULT NULL,
      `rating` int(11) NOT NULL,
      `created_at` timestamp NULL DEFAULT NULL,
      `updated_at` timestamp NULL DEFAULT NULL,
      `sroc` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
      `vip` tinyint(1) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    и отношения соответственно
    модель Company
    Код:
        //рейтинг
        public function ratings()
        {
            return $this->belongsToMany(\App\Model\Rating::class)
                ->withPivot('sroc','vip','rating','updated_at');
    
        }
    модель Rating
    Код:
        public function companies()
        {
            return $this->belongsToMany(\App\Model\Company::class)
                ->withPivot('sroc','vip','rating','updated_at');
    
        }
    почему не работает сортировка по полю rating
    Код:
                $rating=Rating::find($id);
                $companies=$rating->companies()
                    ->orderBy('company_rating.rating', 'DESC')
                    ->get();
    Спасибо!!!
     
  2. Alexey Mezenin

    Alexey Mezenin Новичок

    Сообщения:
    172
    Ваш город:
    Калининград
    Address:
    Kaliningrad, Russia
    Country:
    Location on Map:
    Используй pivot_rating для сортировки:

    Код:
    $rating->companies()->latest('pivot_rating')->get();
     
    aleks_lv нравится это.
  3. aleks_lv

    aleks_lv Новичок

    Сообщения:
    76
    Ваш город:
    Львов Украина
    Address:
    Lviv, Ukraine
    Country:
    Location on Map:
    попробовал
    бред какой то
    не работает
     
  4. aleks_lv

    aleks_lv Новичок

    Сообщения:
    76
    Ваш город:
    Львов Украина
    Address:
    Lviv, Ukraine
    Country:
    Location on Map:
    все вопрос снят
    datatables долбанный мне столбцы переставлял
    https://datatables.net/
    я и забыл про него
     
  5. Alexey Mezenin

    Alexey Mezenin Новичок

    Сообщения:
    172
    Ваш город:
    Калининград
    Address:
    Kaliningrad, Russia
    Country:
    Location on Map:
    Вместо спасибо "бред какой-то". Я перед тем, как тебе отвечать, проверил и все работает прекрасно.
     
  6. aleks_lv

    aleks_lv Новичок

    Сообщения:
    76
    Ваш город:
    Львов Украина
    Address:
    Lviv, Ukraine
    Country:
    Location on Map:
    Извини
    сказал спасибо
     
    Alexey Mezenin нравится это.