Laravel - eloquent filtrado y busqueda

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 9 puestos en Laravel (en relación al último mes)
Gráfica de Laravel

eloquent filtrado y busqueda

Publicado por Gustavo (1 intervención) el 12/02/2020 00:07:36
buen día a todos soy medio nuevo el laravel les comento mi situación resulta que estoy desarrollando un buscador donde la persona pueda escoger una de las tablas de la columna e ingresar algún dato y busque la informacion con base a esa búsqueda el problema es que me esta buscando por ciertas columnas y por otras no me di cuenta que el problema es en el where donde no me esta reconociendo los alias de la tabla creada

este es el error
1
message: "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'products.category_name' in 'where clause' (SQL: select count(*) as aggregate from `products` inner join `categories` on `products`.`idcategory` = `categories`.`id` inner join `types_categories` on `products`.`idtypecategory` = `types_categories`.`id` inner join `sub_types_categories` on `products`.`idsubtypecategory` = `sub_types_categories`.`id` inner join `item_brand` on `products`.`idbrand` = `item_brand`.`id` where `products`.`category_name` like %Ropa%)"

y esta es la consulta

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$products = product::join('categories', 'products.idcategory', '=', 'categories.id')
            ->join('types_categories', 'products.idtypecategory', '=', 'types_categories.id')
            ->join('sub_types_categories', 'products.idsubtypecategory', '=', 'sub_types_categories.id')
            ->join('item_brands', 'products.idbrand', '=', 'item_brands.id')
            ->select('products.id',
                     'products.idcategory',
                     'products.idtypecategory',
                     'products.idsubtypecategory',
                     'products.code',
                     'products.name',
                     'products.idbrand',
                     'products.sale_price',
                     'products.stock',
                     'products.condition',
                     'categories.name AS category_name',
                     'types_categories.name AS types_categories_name',
                     'sub_types_categories.name AS sub_types_categories_name',
                     'item_brands.name AS item_brand_name'
            )
            ->where('products.'.$criterion, 'like', '%'. $search . '%')
            ->orderBy('products.name', 'asc')->paginate(20);

he buscado tanto en query builder como en eloquent
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder