MINI MINI MANI MO

Path : /var/www/html/sistemas/saplxi/app/Http/Controllers/
File Upload :
Current File : /var/www/html/sistemas/saplxi/app/Http/Controllers/SearchController.php

<?php

namespace App\Http\Controllers;

use App\Models\CddComisiones;
use App\Models\CddComunicado61;
use App\Models\CddComunicados;
use App\Models\CddDiputadosLxi;
use App\Models\CddDirectorio;
use App\Models\CddEvento;
use App\Models\CddFoto;
use App\Models\CddIniciativas;
use App\Models\CddLegislacion;
use App\Models\CddSeccion;
use App\Models\CddSesiones;
use Illuminate\Http\Request;
use Spatie\Searchable\ModelSearchAspect;
use Spatie\Searchable\Search;

ini_set('memory_limit', '-1');
ini_set('max_execution_time', '600');

class SearchController extends Controller
{
    public function __invoke(Request $request)
    {
        $searchterm = $request->input('tema');
        $result = (new Search())
            ->registerModel(CddDiputadosLxi::class, function (ModelSearchAspect $modelSearchAspect) {
                $modelSearchAspect
                    ->addSearchableAttribute('completo')->orderBy("id", "DESC");
            })
            ->registerModel(CddDirectorio::class, function (ModelSearchAspect $modelSearchAspect) {
                $modelSearchAspect
                    ->addSearchableAttribute('completo')->orderBy("id", "DESC");
            })
            ->registerModel(CddComisiones::class, 'nombre')
            ->registerModel(CddIniciativas::class, function (ModelSearchAspect $modelSearchAspect) {
                $modelSearchAspect
                    ->addSearchableAttribute('iniciativa')
                    ->addSearchableAttribute('autor')
                    ->addSearchableAttribute('coautor')
                    ->addSearchableAttribute('comisiones')
                    ->limit(10);
            })
            ->registerModel(CddSeccion::class, 'alias')
            ->registerModel(CddEvento::class, function (ModelSearchAspect $modelSearchAspect) {
                $modelSearchAspect
                    ->addSearchableAttribute('descripcion')->orderBy("fecha", "ASC");
            })
            ->registerModel(CddLegislacion::class, function (ModelSearchAspect $modelSearchAspect) {
                $modelSearchAspect
                    ->addSearchableAttribute('nombre')->orderBy("nombre", "ASC");
            })
            ->registerModel(CddFoto::class, 'tags')
            ->registerModel(CddComunicados::class, function (ModelSearchAspect $modelSearchAspect) {
                $modelSearchAspect
                    ->addSearchableAttribute('titulo')
                    ->addSearchableAttribute('bullet1')
                    ->addSearchableAttribute('bullet2')
                    ->addSearchableAttribute('bullet3')
                    ->addSearchableAttribute('texto')
                    ->orderBy("comunicado", "ASC")
                    ->limit(10);
            })
            ->registerModel(CddComunicado61::class, function (ModelSearchAspect $modelSearchAspect) {
                $modelSearchAspect
                    ->addSearchableAttribute('titulo')
                    ->addSearchableAttribute('bullet1')
                    ->addSearchableAttribute('bullet2')
                    ->addSearchableAttribute('bullet3')
                    ->addSearchableAttribute('texto')
                    ->orderBy("comunicado", "DESC")
                    ->limit(10);
            })
            ->perform($searchterm);
        return view('pages.result.show', compact('result', 'searchterm'));
    }
}

OHA YOOOO