Короткий вопрос
Использование ярких моделей Laravel; как упорядочить запрос столбцом на a имеет morphMany
полиморфные отношения?Результаты заказа по шкале Laravel по столбцу на полиморфном столе
Longer вопрос
Скажет, у меня есть данная структура таблицы:
// table: images
+ -- + ------------ + -------------- + ----- + ----------- +
| id | imageable_id | imageable_type | views | upload_date |
+ -- + ------------ + -------------- + ----- + ----------- +
| 1 | 1 | User | 100 | 2016-16-06 |
| 2 | 3 | User | 200 | 2016-16-06 |
+ -- + ------------ + -------------- + ----- + ----------- +
// table: users
+ -- + ---- +
| id | name |
+ -- + ---- +
| 1 | Bob |
| 2 | Kat |
+ -- + ---- +
... и у меня есть Красноречивый User
модели с morphMany
полиморфными отношениями.
Как я могу заказать пользователей по количеству просмотров, которые получает изображение сегодня?
Я сам экспериментировал с этой проблемой и не смог найти решение. Ближайший я пришел к правильному упорядоченности, когда я использовал подобный запрос к этому:
User::with([
'images' => function ($query) {
$query->where('upload_date', Carbon::today()->toDateString())
->orderBy('views', 'DESC');
}
])->get();
Но, попробовав это, было очевидно для меня, что пользователи теперь неправильно упорядочены по их увеличивающемуся идентификатору, а не столбец views
на столе images
.
Благодарим вас за помощь всем, кто помогает мне в этом путешествии, чтобы понять это.