2
Я структурировал таблицу категорий для хранения категорий, а также подкатегорий.Как сделать Подзапрос для той же таблицы в Laravel Eloquent
Моя таблица структуры:
catID (int)
catType (varchar 4)
parentID (int)
catName (varchar 50)
sOrder (int)
Как сделать следующий подзапрос с красноречивым.
SELECT c.*,
(
SELECT COUNT(*) FROM categories AS sc WHERE sc.parentID = c.catID AND sc.catType = "Sub"
) AS totalSubCategories
FROM categories AS c
WHERE c.catType = 'Root'
Я попытался следующие, но это не будет работать:
$rows = CategoryModel::from('categories as c')
->where('c.catType', '=', 'Root')
->paginate(20)
->select(DB::raw('c.*, (SELECT COUNT(*) FROM categories as sc WHERE sc.parentID = c.catID AND sc.catType = "Sub") AS totalCategories'));
Я получаю следующее сообщение об ошибке
ErrorException (E_UNKNOWN)
call_user_func_array() expects parameter 1 to be a valid callback, class 'Illuminate\Support\Collection' does not have a method 'select'