javascript – Recorrer respuesta laravel con jquery y valir si existe valor dentro

quisiera por favor me orientaran sobre la siguiente situación…creo algo estoy haciendo mal.

Estoy en laravel 8

Controlador :

    public function index(){
    $permisos = Permission::all();
    return view('vista.index', compact('permisos'));
}

Mi vista.blade.php :

<script>
$(document).ready(function () {
    jobs = @json($permisos);//Recibo la variable desde laravel
    console.log(jobs);
    console.log(jobs.includes('permiso_modulo_editar"')); //Validar que el valor enviado exista en el array proviente de laravel
});
</script>

La respuesta al mostrar lo que trae la variable $permisos desde el controlador :

introducir la descripción de la imagen aquí

La respuesta del “includes(‘permiso_modulo_editar’)” para validar si existe o no dentro :

introducir la descripción de la imagen aquí

En resumen, necesito enviar la variable $permisos desde el controlador a mi index.blade.php y en la sección < script> con jquery validar si un valor cualquiera existe en su interior.

Agradecere su ayuda, gracias.

php – ¿Esto que estoy haciendo es correcto? – Laravel 8

estoy desarollando una app en Laravel 8 y todo bien no tengo ningún inconveniente, pero no sé si es correcto la forma en la que estoy haciendo esta “REST API” si es se le podría decir así.

Primero que nada estoy autenticando al usuario con la autenticación manual de Laravel.

public function login(Request $request)
{
    if (Auth::attempt(('email' => $request->username, 'password' => $request->password), (isset($request->remember) && $request->remember == 'true'))) {
        $request->session()->regenerate();

        return redirect()->intended("https://es.stackoverflow.com/");
    } else if (Auth::attempt(('username' => $request->username, 'password' => $request->password), (isset($request->remember) && $request->remember == 'true'))) {
        $request->session()->regenerate();

        return redirect()->intended("https://es.stackoverflow.com/");
    } else {
        return back()->withErrors((
            'authError' => 'El usuario, correo electronico o la contraseña no son validos',
        ));
    }
}

Realmente no estoy generando un JWT o algún tipo de token como sería habitualmente, simplemente estoy haciendo una autenticación manual de Laravel.

Y después lo que hice es cambiar el middleware de las rutas del API a “web” en el archivo RouteServiceProvider.php.

public function boot()
{
    $this->configureRateLimiting();

    $this->routes(function () {
        Route::prefix('api')
            ->middleware('web')
            ->namespace($this->namespace)
            ->group(base_path('routes/api.php'));

        Route::middleware('web')
            ->namespace($this->namespace)
            ->group(base_path('routes/web.php'));
    });
}

De esta forma cada vez que hago una solicitud desde el frontend siempre en el backend me llega la sesión actúal del usuario, y se esa forma fuí armando algo y comenze a validar con laravel permission y ect.

Esto también me generó un problema, ¿Ahora cómo podría testear el “API REST” con un programa como Insomnia? no sé como hacer la autenticación desde Insomnia como para validar que las autorizaciones esten bien ect, y por último ¿esto que estoy haciendo está bien?, ¿y si es así tiene algún nombre?.

Este es mi primer post, disculpen si es un desastre jaja.

Laravel – Route dentro de JS

Intento hacer una función en JS que dado un parámetro construya una URl de forma dinámica, el código que tengo es este

<script>

function cargar_datos(estado) {

    alert(estado);
    
    var uri =  '{{ route('api.cars.list', ('estado' => ':estado')) }}';
    uri = uri.replace(':estado',estado);

    alert(uri);

    $('#tabla-listado-leads').bootstrapTable('refresh', {
        url: uri
    });

}

El primer alert (estado) me muestra por pantalla un “2”

Pero el segundo alert que es uri me muestra :
http://test.local/api/cars/list?estado=%3Aestado

Lo que intento construir es una url que sea
http://test.local/api/cars/list?estado=2

Usando el helper route de laravel.

La ruta la tengo declarada de esta forma

Route::get('/api/cars/list', 'CarController@listCars')->name('api.cars.list');

Como generar un dato 2 veces en una llamada a factory laravel 6

Holaa, espero que se encuentren bien, tengo una duda, quiero agregar unas rutas de imagenes de manera random con factory, necesito que se agreguen 1 vez para cada carpeta, un ejemplo del resultado que busco seria algo asi:

Imagen 1: img/products/imagen1.jpg
Imagen 2: img/user/imagen2.jpg

Solo puedo hacer que se guarde en 1 carpeta, por ejemplo en products:

$factory->define(Image::class, function (Faker $faker) {
    $fileName = $this->faker->numberBetween(1, 10).'.jpg';
    return (
        'path' => "img/products/{$fileName}",

    );

});

Como puedo crear tambien una ruta para la carpeta users?

php – Middleware não existe laravel 8

O PROBLEMA

Eu estou fazendo um Middleware para proteger minhas rotas porem eu quando passa pelo Middleware que eu criei retorna que não existe. Ja fiz de tudo mas nao consigo avançar.

O QUE EU JA FIZ

Criei a Middleware, incluir no meu kernel.php

        'auth' => AppHttpMiddlewareAuthenticate::class,
        'auth.basic' => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class,
        'cache.headers' => IlluminateHttpMiddlewareSetCacheHeaders::class,
        'can' => IlluminateAuthMiddlewareAuthorize::class,
        'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,
        'password.confirm' => IlluminateAuthMiddlewareRequirePassword::class,
        'signed' => IlluminateRoutingMiddlewareValidateSignature::class,
        'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,
        'verified' => IlluminateAuthMiddlewareEnsureEmailIsVerified::class,
        'jwt' => appHttpMiddlewareJwtMiddleware::class
    );

CHAMO NA ROTA

Route::group(('namespace' => 'Api', 'as' => 'api.'), function () {
    Route::post('/auth/login',  (AuthController::class, 'login'))->name('auth.login');

    Route::group(('middleware' => 'jwt'), function () {

        Route::post('/auth/logout',  (AuthController::class, 'logout'))->name('auth.logout');
        Route::post('/me',  (AuthController::class, 'me'))->name('auth.me');
        Route::get("https://pt.stackoverflow.com/users", (UserController::class, 'index'))->name('auth.index');
        Route::get('/address', (AddressController::class, 'index'))->name('address.index');
        Route::get('/product', (ProductController::class, 'index'))->name('product.index');
    });
});

MENSSAGEM DO ERRO

IlluminateContractsContainerBindingResolutionException: Target class (appHttpMiddlewareJwtMiddleware) does not exist. in file D:devprojetobackvendorlaravelframeworksrcIlluminateContainerContainer.php on line 875

apache – ¿Cómo solucionar un Proyecto Laravel en Xamp Not Found?

Quiero aprender Laravel y estoy instalándolo.

He creado un proyecto siguiendo la guía
composer create-project --prefer-dist laravel/laravel blog "8.X.^"

el cual se encuentra en mi carpeta htdocs de xampp

Al ingresar la ruta localhost/blog/public/ me arroja el siguiente mensaje

Not Found
The requested URL was not found on this server.
Apache/2.4.48 (Win64) OpenSSL/1.1.1k PHP/8.0.8 Server at localhost Port 80

¿Cómo puedo solucionarlo o que se procede a hacer?

php – Enviar input file con dropify en modal – Laravel 7

Estoy usando dropify para diseñar los elementos de carga de archivos en mi modal. pero noté que el formulario no envía el campo file, quisiera su ayuda.

Aquí esta el código de mi modal:

  <form action="{{ route('slider.update', $item->idSlider) }}" method="POST"
                    enctype="multipart/form-data">
                    @csrf
                      <input type="file" class="dropify" accept=".png, .jpg, .jpeg"
                       data-allowed-file-extensions="jpg png" name="file" required>
                                      

Así esta mi modal:
introducir la descripción de la imagen aquí

Y esto es lo que se envía:

introducir la descripción de la imagen aquí

localization – Laravel Locale with Database

please help me, i have read a tutorial this https://sebastiandedeyne.com/using-a-database-for-localization-in-laravel/ , but i don’t understand in this step

<?php
$fragment = new AppModelsFragment();
$fragment->key = 'home.greeting';
$fragment->setTranslation('text', 'en', 'Hello world!');
$fragment->save();

where i can write this code?

update – Como puedo poner el nombre de la imagen actualizar registro laravel y no el localtemp

Tengo un formulario donde añado datos y una imagen, pero a la hora de actualitzar no me actualiza correctamente la imagen, me la pone en LocalTemp y yo quiero que me ponga el nombre de la image. Os pongo mi codigo con la funcion Store y Update, donde esta el fallo y como lo puedo arreglar.

introducir la descripción de la imagen aquí

introducir la descripción de la imagen aquí

Y cuando se añade a la BBDD me sale de esta manera: Y lo que quiero es que salga el nombre de la imagen

introducir la descripción de la imagen aquí

Gracias a tod@s!!!

eloquent – Merge en laravel dentro ForEach

Un saludo.

Tengo una coleccion que ya funciona en mi laravel.
pero necesito a cada registro de la coleccion agregarle un dato nuevo.
es el resultado de una suma de registros.

pero no logro que mi actual coleccion me retorne igualita, solo que esta vez con un atributo mas.

Esta es mi actual colleccion, del modelo Revisiones. Que me devuelve unos datos, se los paso a la vista y hasta ahora ok.

$servicios = Revisiones::where($busqueda)
                    ->join('lectores as le', 'le.id', 'revisiones.operador_id')
                    ->where('envio', '!=', '5')
                    ->where('envio', '!=', '6')
                    ->groupBy('route')
                    ->get();

esto me devuelve esto:

IlluminateDatabaseEloquentCollection {#1398 ▼
  #items: array:2 (▼
    0 => AppModelsRevisiones {#1418 ▶}
    1 => AppModelsRevisiones {#1415 ▶}
  )
}

Pero por cada registro que me devuelve, yo hago una subconsulta. para calcular una suma, y el resultado quiero agregarselo, pero el resultado no es el esperado.
me cambia totalmente la coleccion, yo intento hacer esto.

  $servicios = Revisiones::where($busqueda)
                        ->join('lectores as le', 'le.id', 'revisiones.operador_id')
                        ->where('envio', '!=', '5')
                        ->where('envio', '!=', '6')
                        ->groupBy('route')
                        ->get();

$servicios = collect($servicios);

                  foreach ($servicios as $collection) {

                        $cantidad = Revisiones::where('envio', '!=', '5')
                        ->where('envio', '!=', '6')
                        ->where('operador_id', $collection->operador_id)
                        ->where('fecha_carga', $collection->fecha_carga)
                        ->count();

                        $servicios = collect($collection)->merge(('cantidad' => $cantidad));

                    }

pero entonces, lo que ahora me devuelve es esto:

IlluminateSupportCollection {#1403 ▼
  #items: array:44 (▶)
}

y no se como concatenarlo, o como hacer el merge correcto, para agregarle un atributo a cada item del array. alguien podria ayudarme, muchas gracias.