Код: Выделить всё
$posts = Post::withCount('upvotes')->where('upvotes_count', '>', 5)->get();
SQLSTATE[42S22] : Столбец не найден: 1054 Неизвестный столбец «upvotes_count» в разделе «where» (SQL: select , (select count() from upvotes, где upvotes.
Код: Выделить всё
upvoteable_id
Код: Выделить всё
id
Код: Выделить всё
upvoteable_type
Итак, насколько я могу предположить, это то, что upvotes_count не выбран и, следовательно, столбец не найден, НО если я выполню этот фрагмент кода.
Код: Выделить всё
$posts = Post::withCount('upvotes')->get();
Код: Выделить всё
{
"id": 1,
"user_id": 15,
"title": "Voluptatum voluptas sint delectus unde amet quis.",
"created_at": "2016-10-07 13:47:48",
"updated_at": "2016-10-07 13:47:48",
"upvotes_count": 7
},
{
"id": 2,
"user_id": 2,
"title": "Molestiae in labore qui atque.",
"created_at": "2016-10-07 13:47:48",
"updated_at": "2016-10-07 13:47:48",
"upvotes_count": 2
},
(Дополнительные варианты, которые я пробовал, приведены ниже с указанием соответствующей ошибки.)
Код: Выделить всё
$posts = Post::where('id', $id)->withCount(['upvotes' => function($query) {
$query->where('upvotes_count', '>', 5);
}])->get();
SQLSTATE[42S22]: столбец не найден: 1247 Ссылка 'upvotes_count' не поддерживается (ссылка вперед в списке элементов) (SQL: выберите , (выберите счетчик() из upvotes, где upvotes.
Код: Выделить всё
upvoteable_id
Код: Выделить всё
id
Код: Выделить всё
upvoteable_type
код.
Код: Выделить всё
$posts = Post::where('id', $id)->with(['upvotes' => function($query) {
$query->select('upvoteable_id AS upvotes_count');
}])->where('upvotes_count', '>', 5)->get();
Код: Выделить всё
$posts = \App\Post::where('id', $id)->with(['upvotes' => function($query) {
$query->selectRaw('upvoteable_id AS upvotes_count');
}])->where('upvotes_count', '>', 5)->get();
SQLSTATE[42S22]: столбец не найден: 1054 Неизвестно столбец «upvotes_count» в разделе «where» (SQL: выберите * из сообщений, где id = 1 и upvotes_count > 5)
Я просто хочу использовать предложениеwhere в методе count(), который находится в связи с родительской моделью.
Подробнее здесь: https://stackoverflow.com/questions/399 ... unt-method