testes – Laravel Dusk e Select2

Estou trabalhando com Laravel 8 e para os testes de tela estou usando o Dusk (https://laravel.com/docs/8.x/dusk).

Em uma das telas tenho um select2 com a propriedade “tags” habilitada (https://select2.org/tagging), ou seja, ele permite criar um novo registro caso não haja a opção no select.

Não estou conseguindo realizar este tipo de teste: Criar nova opção pelo select2 com dusk.

Tentei usar este pacote (https://github.com/roquie/laravel-dusk-select2) e também usar scripts pelo dusk (https://laravel.com/docs/8.x/dusk#executing-javascript) para conseguir esse resultado, mas em nenhum dos casos tive sucesso.

Blade

<select 
    class="select2" 
    name="nome" 
    required
>
    <option value="1" selected>Teste 1</option>
    <option value="2" selected>Teste 2</option>
</select>

Js

$('.select2').select2({ 
    tags: true,
});

Entendo que é algo muito específico, espero que alguém possa me ajudar.

apache2 – Desplegando app laravel en VPS con Apache

En el archivo 000-default de apache redirecciono de esta forma mi aplicacion.

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/App-web-facturas/public
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Pero al dirigirme a la direccion de mi proyecto lo que me muestra es el contenido del index.php

introducir la descripción de la imagen aquí

laravel – Como generar un archivo de texto para que sea descargado por un usuario

necesito generar un archivo de texto para que sea descargado por el usuario. A continuación, les muestro el código que genera los datos que debo convertir a un archivo de texto plano.

        $tbSnej1 = Snejtabsnej1::with('relProvincia')
        ->orderBy('anioRelev')
        ->orderBy('provincia_id').get();

    foreach ($tbSnej1 as $it){
        $flag1 ="NO";
        $flag2 ="NO";
        $flag3 ="NO";
        if ($it->C1_01 == 1){
            $flag1 = "SI";
        }
        if ($it->C1_02 == 1){
            $flag2 = "SI";
        }
        if ($it->C1_03 == 1){
            $flag3 = "SI";
        }

        $totParcial1 = (
            $it->C2_01_01 +
            $it->C2_01_02 +
            $it->C2_01_03 +
            $it->C2_01_04 +
            $it->C2_01_05 +
            $it->C2_01_06 +
            $it->C2_01_07 +
            $it->C2_01_08 +
            $it->C2_01_09 +
            $it->C2_01_10 +
            $it->C2_01_11 +
            $it->C2_01_12 +
            $it->C2_01_13 +
            $it->C2_01_14 +
            $it->C2_01_15 +
            $it->C2_01_16 +
            $it->C2_01_17 +
            $it->C2_01_18 +
            $it->C2_01_19 +
            $it->C2_01_20 +
            $it->C2_01_21 +
            $it->C2_01_22 +
            $it->C2_01_23 +
            $it->C2_01_24 +
            $it->C2_01_25 +
            $it->C2_01_26 +
            $it->C2_01_27 +
            $it->C2_01_28 +
            $it->C2_01_29);
    }

Dentro del foreach, se generará una línea que contendrá los flag1,2,3, mas el totalParcial que se calcula sumando la serie de campos. Luego de generar el archivo de texto, lo debe poder descargar el usuario en su pc.

La aplicación está desarrollada en Laravel 8 y consume datos de mysql via Elocuent

Desde ya, muchas gracias.

Laravel com ajax e jquery error no 500 post

Quando adicionei o Ajax na minha aplicação a principio funcionou mas depois retorna um erro 500 no POST (Sistema de Login) mais especificamente no POST http://127.0.0.1:8000/login 500 (Internal Server Error) meu codigo no js:

    $('form(name="form-login")').submit(function(event) {
        event.preventDefault();
        if (!$('#nickname')(0).value || !$('#password')(0).value) {
            return $('.messageBox').removeClass('d-node').html("Todos os campos são obrigatorios.");
        }
        $.ajax({
            url: "/login",
            type: 'POST',
            data: $(this).serialize(),
            dataType: 'json',
            // Percebi que ele não entra nesse success
            success: function(response) {
                if (response.successLog === true) {
                    if (response.auth === 1) {
                        window.location.href = "/auth/adm/admDashboard";
                    }
                    if (response.auth === 2) {
                        window.location.href = "/auth/manager/managerDashboard";
                    }
                    if (response.auth === 3) {
                        window.location.href = "/auth/user/dashboardUser";
                    }
                } else {
                    $('.messageBox').removeClass('d-node').html(response.message);
                }
            }
        })
    });
}); 

Meu controller:

public function login(Request $request)
    {

        $request->validate((
            'nickname' => 'required',
            'password' => 'required'
        ));

        $userNickname = User::where('nickname','=',$request->nickname)->first();
        if(!$userNickname)
        {
            $login('successLog') = false;
            $login('message') = "O nickname não foi encontrado no nosso banco de dados.";
            echo json_encode($login);
            return;
        }else {
            if(Hash::check($request->password, $userNickname->password)) {
                $request->session()->put('LoggedUser', $userNickname);
                $login('successLog') = true;
                $login('auth') = $userNickname->role_id;
                echo json_encode($login);
                return;
            }else {
                $login('successLog') = false;
                $login('message') = "Senha incorreta.";
                echo json_encode($login);
                return;
            }
        }
    }
```

Stories – Laravel Creative Multilingual Blog

Stories is a clean and minimal Laravel blog script perfect for writers who need to create a personal blog site with simple creative features and effects to make readers feel the pleasure of reading blog posts and articles.

Packed with a fine assortment of adventure and travel blog templates, tons of exciting pre-designed layouts for all types of blogs.

Stories is a personal blog template mixes between…

.

laravel – Is there a way to make this php code better or simpler?

I’m using Laravel and this PHP method is in a controller. It’s the back-end for a edit profile page. The user can change the profile picture, reset the password, the username, and so on. I’m new in PHP and would like to know if there is a better or simple way to code this.

public function update(Request $request){

        $user = Auth::user();

        $username = $request->username;
        // PENDING $email = $request->email; 
        $wallet_address = $request->wallet_address;
        $about = $request->about;
        $password = $request->password;
        $website = $request->website;
        $location = $request->location;

        if($username){ 
            $user->username = $username; 
            $user->save();
        }

        /** upload avatar section */
        
        $image = $request->file('avatar');

        if($image){

            // note: if avatar_name variable is null it means the user has never uploaded an image..
            // if the user has uploaded an avatar before, delete it before uploading the new one..
            if($user->avatar_name){
                Storage::delete('/public/profile-pics/'.$user->avatar_name);
            }

            $image_new_name = date('dmy_H_s_i').'_'.$user->id.'_'.$image->getClientOriginalName();
            $image->storeAs('profile-pics',$image_new_name,'public');
            $user->avatar_url = 'storage/profile-pics/'.$image_new_name;
            $user->avatar_name = $image_new_name;
            $user->save();
        }

        if($wallet_address){
             $user->wallet_address = $wallet_address;
             $user->save(); 
        }

        if($about){
             $user->about = $about; 
             $user->save();
        }

        if($password){
             $user->password = $password; 
             $user->save();
        }

        if($website){
            $user->website = $website; 
            $user->save();
        }

        if($location){
             $user->location = $location; 
             $user->save();
        }

        return redirect()->route('edit_profile')->with('success','Your account has been updated successfully.');
    }

laravel – Problema para hacer un JOIN entre tablas encadenadas

tengo las siguientes tablas:

processes:
id
name

dependencies
id
name
process_id

types_assets:
id
name

assets:
id
name
state
dependency_id
types_asset_id

Necesito hacer una consulta en donde se relacionen las 4 tablas, la tabla principal de assets, pero no se como hacer un join entre la tabla process ya que esta tabla no se relaciona directamente y necesito visualizar el nombre del process que está relacionado con la dependency a la que pertenece el asset.

Trate de hacerlo usando directamente una sql cruda con DB pero el problema es que me devuelve un array y no un objeto y me genera otro tipo de problemas con la paginación.

La consulta cruda es esta (si funciona así):

SELECT a.id AS id,a.name AS name,a.state AS state,d.name AS dependency,t.name AS type,p.name AS process
FROM assets as a, dependencies AS d, types_assets as t, processes as p
WHERE
a.dependency_id = d.id AND
a.types_asset_id = t.id AND
d.process_id = p.id

También trate de usar JOIN pero como la tabla process no se relaciona directamente con assets no me funciona.

Otra forma que me funcionó fue usar with, el problema es que quiero dar al usuario la posibilidad de dar orden asendente o descendente en la visualización de datos pero con with se me dificulta mucho decirle cual es el campo de ordenación. Me podrían ayudar por favor, llevo estancado en esto mucho tiempo.

php – Algo estoy haciendo mal en Laravel?

casi me rompo la cabeza con un problema que me ocurre con un query SQL en Laravel 8. Estoy en el controlador recibiendo dos variables por la url, solo utilizo una por los momentos, el controlador recibe bien el contenido de la variable porque le doy un return y me lo imprime en la vista. A continuación coloco el código:

public function store(Request $request, $rep, $ide)
{

    //return $ide; Aquí imprime bien el contenido de la variable, que es un id

    $repre = Represtudiantes::select('*')->where('ide', $ide)->get();//Aquí hago el query
    
    if (empty($repre)) { //Aquí hago una simple comprobación con un if
        echo 'Hola estoy Vacío';
    }else{
        echo 'Hola estoy Llenito';
    }
}

Se supone que cuando la variable $ide se busca en la BD y se encuentra, se envía el contenido del registro a la variable $repre y se debe imprimir la cadena “Hola estoy Llenito” porque la variable $repre no está vacía y si por el contrario, el $ide no está en la BD no devuelve nada a $repre, por lo que en el if se debe ejecutar la cadena “Hola estoy Vacío”, pues bien, he aquí el problema, porque en el segundo caso, cuando la variable $ide no está en la BD también devuelve la cadena “Hola estoy Llenito“.

He probado mil cosas y no sé por qué hace esto, debería imprimirse el “Hola estoy Vacío” en el caso que no se encuentre el $ide en la BD pero no es así. ¿Qué estoy haciendo mal?

P.D.: Este es el modelo:

class Represtudiantes extends Model
{

use HasFactory;

protected $fillable = (
    'id',
    'ide',
    'idr'
);

}

Lo estoy llamando bien desde el controlador.

Disculpen lo largo, gracias.