Порядок, работающий, но не где

#laravel #laravel-5.2

#laravel #laravel-5

Вопрос:

Это работает нормально.

 $q=Question::with(['users'=>function($query)
    {
        $query->orderBy('pivot_approved','desc');
    }])->get();
  

Это не:

  $q=Question::with(['users'=>function($query)
        {
            $query->where('pivot_approved',1);
        }])->get();
  

Также пробовал с wherePivot в отношении:

 public function users()
{     
    return $this->belongsToMany('AppUser','question_user','q_id','user_id')->wherePivot('approved',1);  
}
  

Комментарии:

1. Можете ли вы объяснить, какой результат вы ожидаете от запроса?

2. @Armin Я хочу отобразить вопросы и пользователей, для approved столбца question_user которых в в таблице 1.

Ответ №1:

Сначала попробуйте добавить withPivot() к отношению:

 ->withPivot('approved');
  

По умолчанию в сводном объекте будут присутствовать только ключи модели. Если ваша сводная таблица содержит дополнительные атрибуты, вы должны указать их при определении взаимосвязи