Italo Morales

Venezuela Italo Morales


Miembro desde hace 1 año

Biografía

Profesor de #Laravel y #PHP en Rimorsoft Online


italomoralesf aportó en Comunicación entre controladores. Rutas y Parámetros. [SALUCIONADO] hace 8 meses

Tu método debe estar mas o menos así

function metodo(Request $request) {
    dd($request->all());
}

Así verás en detalle que estás recibiendo.

italomoralesf aportó en Comunicación entre controladores. Rutas y Parámetros. [SALUCIONADO] hace 8 meses

Si es así .../Y?id entonces obtén el dato usando Request $request en el método.

Luego, tienes el id escribiendo $request->get('id')

italomoralesf aportó en Personalizar Auth de Laravel hace 8 meses

Sucede que al implementar el Auth por defecto de Laravel debes seguir con la plantilla base, si luego cambias el nombre de los campos haces que el sistema falle.

Debes ir y cambiar parte del controlador, entidad, config/auth.php etc.

Si quieres hacerlo muy personalizado, no instales la plantilla de Laravel.

italomoralesf aportó en Popup para eliminar con sweet alert solo aparece al seleccionar primer fila de un listado hace 8 meses

No debe ser ID, debes cambiarlo por class, es decir:

'class' => 'confirm_delete' document.querySelector('.confirm_delete')

italomoralesf aportó en Api Rest | Es aconsejable usar las vistas en el mismo proyecto de laravel donde estoy contruyendo un api rest ? hace 8 meses

Un API es un código listo para proveer datos, puedes consumir esos datos desde tu sistema o desde otro sistema completamente aparte.

A nivel de seguridad, sería bueno implementar laravel/passport, aunque puedes hacerlo como enseño en los cursos que es mucho mas sencillo si estás empezando con este tema.

italomoralesf aportó en Componentes en VUEjs hace 8 meses

Ahí tendrías que usar EventBus o VUEx. Estos son temas que tocaré en profundidad muy pronto.

italomoralesf aportó en Radio hace 8 meses

Te refieres a una emisora?

italomoralesf aportó en Chat hace 8 meses

No he visto, pero Laravel funciona bien con Pusher y en su web hay ejemplos de solo copiar y pegar que son un chat https://pusher.com/

italomoralesf aportó en Renderizado dinamico con vue hace 8 meses

Es complicado darte el dato exacto. Sin embargo, creo que te ayudaría el curso de componentes https://rimorsoft.com/componente-vuejs-en-laravel

italomoralesf aportó en Cual es la mejor manera de obtener imagenes externas y guardarlas en mi servidor hace 8 meses

El acceso siempre es a través de una ruta absoluta... Debe tu servidor 2 ser un servidor web público y así tendrás acceso a tus imágenes sin ningún problema desde un http://dominio o http://ip, etc

italomoralesf aportó en Controllers, Routes, Views, Database para el CRUD hace 8 meses

Quizás te ayude revisar el proyecto original, da clic aquí, es un proyecto en github y puedes comparar el código.

italomoralesf aportó en Como afecta Vue.js o angular al SEO hace 8 meses

Las arañas de los buscadores cada vez son mas inteligentes y capaces pero si tu objetivo es un sistema o página web basado en contenido como un blog o tienda, no deberías hacerlo netamente en VUEjs o Angular. Yo te diría hacer los componentes como like, votos, etc.

Me refiero a pequeños bloques en VUE.

italomoralesf aportó en Error en la instalación de paquete Shinobi hace 8 meses

Instala esta versión "caffeinated/shinobi": "^3.1"

italomoralesf aportó en integración de calendar en laravel 5.5 hace 8 meses

Hay una librería muy buena de spatie enlace a github Ese mismo enlace da acceso a un tutorial muy sencillo y claro.

italomoralesf aportó en Shinobi con Mongodb hace 8 meses

Sabes, no lo he intentado... Solo te puedo decir que el problema se puede deber a que mondodb no es una base de datos relacional, es estructurada tipo json.

Y cuando usas @can el busca entre las relaciones si tienes el permiso o no.

italomoralesf aportó en ¿Cómo hacer deploy (despliegue) de una app Laravel 5.6 y VueJS 2? 2018. hace 8 meses

En el caso de Laravel debes subir los archivos, este tutorial te puede servir... Subir Laravel a un Hosting

Si incluye un componente hecho en VUEjs, recuerda que al usar Laravel MIX este genera un app.js, es el archivo que debes subir al servidor.

italomoralesf aportó en Error en la visualización de imágenes a causa de la ruta guardada en la base de datos hace 8 meses

Cuando haces pruebas tu accedes a tu proyecto colocando http://localhost/ y cuando entras desde otro equipo lo haces colocando tal vez http://192.168.0.4/

Sucede que la imagen siempre se va a guardar con la dirección que estés usando para entrar. Puedes desde tu mismo equipo ingresar con http://192.168.0.4/

Es correcto usar rutas absolutas, pero para evitar ese problema nosotros enseñamos en el curso del blog como usar https://lorempixel.com/ y usar imagenes semillas.

italomoralesf aportó en Parámetros de tipo objeto en PHP hace 8 meses

A veces un parametro es mas que un string o integer, imagina el objeto usuario podría necesitar el objeto post. Respecto a tu pregunta, ambas clases deben existir.

italomoralesf aportó en Tablas de roles, usuarios y permisos hace 8 meses

Tal vez debas editar tu post para entenderlo.

Si no me lees a tiempo, hoy tarde lo edito para poderlo entender.

italomoralesf aportó en API DE CONEKTA CON LARAVEL hace 9 meses

Ellos tienen una buena documentación, no se si ya la has revisado es aquí

Trae el método correcto para Ruby, PHP, Node, etc

Revisa esa documentación, regístrate y cualquier cosa solicita soporte directo, porque tus acciones les generarán ingresos a ellos... Por eso ayudan y lo hacen rápido.

italomoralesf aportó en maatwebsite/excel 3.0 hace 9 meses

Tal vez has leído este artículo amigo Exportar hoja de calculo (Excel) en Laravel 5.5

Esto funcionaría muy bien en tu versión 5.6

italomoralesf aportó en Class App\Http\Requests\PostStoreRequest does not exist hace 9 meses

Si el archivo existe y aún así surge este error... Entonces ejecuta el comando composer dump-autoload (refresca nuestro listado de clases, lo actualiza)

Aquí una explicación mas completa de composer

italomoralesf aportó en Problema con el stringToSlug hace 9 meses

No sé si tu problema sea compatibilidad. Debes tener en cuenta que hay que implicar a jQuery.

En todo caso puedes usar esta otra librería https://github.com/pid/speakingurl que es mas moderna:

Ejemplo

Importas en el navegador (desde una carpeta local)

<script src="js/speakingurl/speakingurl.min.js"></script>

Importas en el navegador (o así desde un CDN)

<script src="https://cdnjs.cloudflare.com/ajax/libs/speakingurl/14.0.1/speakingurl.min.js"></script>

Así usas la librería

var slug;

slug = getSlug("Schöner Titel läßt grüßen!? Bel été !");
console.log(slug); // Output: schoener-titel-laesst-gruessen-bel-ete
italomoralesf aportó en Validar 2 campos Unique con el sistema FormRequest de laravel hace 9 meses

Yo veo que está bien.

Asegútare que se esté llamando correctamente desde el controlador: La sintaxis es 'email' => 'unique:users,email,'.$user->id

Te puedo sugerir que hagas un dd() antes para ver que hay dentro de $this->user, es decir, haz esto:

public function rules()
{
    dd($this->user);
    return [
            'name'      => 'required',
            'username'  => 'required|unique:users,username,' . $this->user,
            'email'     => 'required|unique:users,email,'. $this->user
    ];
}
italomoralesf aportó en sumas de fechas hace 9 meses

Puedes tal vez mejorar tu pregunta?

Dice suma de fechas pero al parecer necesitas restarlas y sacar el resultado en días... Luego comentas que necesitas que sea en vuejs

Debes ser un poco mas claro para conseguir muchas respuestas precisas

italomoralesf aportó en Relaciones en Laravel hasOne, belongsTo, hasMany, belongsToMany ¿Dónde usar cada método para especificar las relaciones? hace 9 meses

Se debe seguir la teoría de *Relaciones SQL: Uno a Uno, Uno a Muchos, Muchos a Muchos..

  • Un usuario tiene un perfil (La relación es uno a uno)
  • Un usuario tiene muchos post (La relación es uno a muchos)
  • Un usuario conoce y maneja varios lenguajes de programación (La relación es muchos a muchos)

Entonces, siguiendo mi ejemplo: En Laravel sería...

Archivo User

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    public function profile()
    {
        return $this->hasOne(Profile::class);
    }

    public function posts()
    {
        return $this->hasMany(Post::class);
    }

    public function Tags()
    {
        return $this->belongsToMany(Post::class);
    }
}

Archivo Tag

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Tag extends Model
{
    public function Users()
    {
        return $this->belongsToMany(User::class);
    }
}

Archivo Post

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    public function User()
    {
        return $this->belongsTo(User::class);
    }
}
italomoralesf aportó en 1364 Field 'name' doesn't have a default value (SQL: insert into `tags` (`updated_at`, `created_at`) hace 9 meses

El error dice que nada está llegando a name y no tiene un valor por defecto.

Revisa la entidad Tag, debe estar así

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Tag extends Model
{
    protected $fillable = [
        'name', 'slug'
    ];
    public function posts()
    {
        return $this->belongsToMany(Post::class);
    }
}
italomoralesf aportó en Ordenar alfabéticamente consulta por campo Accessor de Laravel hace 9 meses

La clave está en que es un accessor, es decir, la unión de una o varias columnas.. por eso orderBy no funcionará, porque se trata de una "columna compuesta".

La otra clave es que usas pluck y este método genera un array, así que tu solución sería ordenar un array usando el método sort, es decir:

  • Haces tu consulta
  • Recibes un array
  • Ordenas el array

Tomando en cuenta que tienes esto

$movements = Move::all()->pluck('type_name', 'id');

Agrega sort al final

$movements = Move::all()->pluck('type_name', 'id')->sort();
italomoralesf aportó en Como puedo generar varios pdf con secuenciales dinamicos hace 9 meses

Lo edité porque lo has marcado como mejor respuesta :)

italomoralesf aportó en Borrado Lógico, método softDeletes en Laravel hace 9 meses

Revisa nuevamente los pasos, algo debió saltarse. Esto es algo que yo uso siempre :)

italomoralesf aportó en Como puedo generar varios pdf con secuenciales dinamicos hace 9 meses

Puedes rehacer tu comentario para leer mejor el código

italomoralesf aportó en Como puedo generar varios pdf con secuenciales dinamicos hace 9 meses

Has revisado este post? https://rimorsoft.com/generar-reportes-pdf-en-laravel-5-5

Yo creo que debes hacer un ciclo de 100 vueltas, y cada vez que des una vuelta debes: 1) Actualizar el número y 2) Generar el PDF.

Es decir, en cada vuelta editas el dato y mandas a generar el archivo. En el post que te comparto está la forma de dar formato y generar el archivo.

italomoralesf aportó en Modificar datos de un objeto en el evento show del controller hace 9 meses

Usa el sistema de traducciones de Laravel

Crea un archivo en resources/lang/es/resource.php ahí dentro retorna un array: (en mi ejemplo se llama resource.php, tu puedes colocar el nombre que desees)

<?php

    return [
        'ADMINISTRATOR'   => 'Administrador',
	'READONLY' => 'Solo Lectura'
    ];

Y así, todas tus traducciones.

Luego en la vista imprimes así: trans("resource.$us->userType");

italomoralesf aportó en CRUD en Laravel hace 9 meses

Muchas gracias, cambia tu nombre de usuario y crea un avatar en gravatar para destacar tu comentario :)

italomoralesf aportó en crear registros en tablas relacionadas con un solo formulario. hace 9 meses

En el mismo formulario envía los campos (input necesarios) y a la hora de guardar puedes lograr separar.

$conductor = Conductor::create([
    'campo'    => $request->get('campo'),
    'campo'    => $request->get('campo'),
]);

$vehiculo = Vehiculo::create([
    'campo'    => $request->get('campo'),
    'campo'    => $request->get('campo'),
]);

$conductor->vehiculos()->attach($vehiculo->id);

Algo así podría servirte, guardas por separado y al final puedes relacionar si lo llegaras a necesitar.

italomoralesf aportó en Opción vacía en select de LaravelCollective/Html hace 9 meses

Conozco dos maneras Andrés:

Esta es la primera

{{ Form::select('move_id', $movements, null, ['placeholder' => 'Seleccione un movimiento...']) }}

En este caso, así como agregas una clase puedes agregar un placeholder

La segunda opción sería Convertir la consulta en array y luego a ese array resultante sumarle un array vacío

//consulta
$movements = Move::pluck('type_name', 'id')->toArray();

//imprimes tu select
{{ Form::select('move_id', [' ' => 'Seleccione un movimiento...'] + $movements, null]) }}

Puedes usar la que gustes :)

italomoralesf aportó en Componente VUEjs en Laravel hace 9 meses

Muchas gracias mi amigo...

italomoralesf aportó en Laravel Passport vs jwt, cuál usar hace 9 meses

Yo diría que es mejor solo cuando hablamos de Laravel, porque es el paquete oficial de Laravel. Pero cualquiera puede ser consumida por varios clientes.

italomoralesf aportó en Triggers en laravel hace 9 meses

Trigger traduce a disparador, lanzador, disparador o gatillo... Es una forma de anunciar o avisar un cambio en la base de datos... De hecho esto es algo que se asocia a las tablas. En Laravel tenemos los eventos, eso podría ayudarte...

Parece ser un buen tema para tocar en un post futuro. Al hacerlo te aviso mi amigo.

italomoralesf aportó en visualización de las imágenes guardadas después de subir proyecto larval a producción hace 9 meses

Lo que sucede es que un proyecto en entorno local debe trabajarse con data semilla y al subirse al servidor su propia data real.

Si haces todo de forma local te va a fallar porque usamos rutas absolutas..

Sin embargo,

La solución a tu problema, es trabajar con rutas relativas, de esa manera no importaría en que dominio se encuentra su proyecto.

Ejemplos

  • URL absoluta: https://www.rimorsoft.com/php/leccion-1
  • URL relativa: /php/leccion-1

Con rutas relativas solucionas ese problema ya que no importa en que dominio se encuentre el proyecto.

italomoralesf aportó en error de llamado de campos de dos tablas relacionado hace 9 meses

No debe existir un modelo para la tabla pivote o intermedia.

En el modelo veo que está bien la relación

return $this->belongsToMany(Modelo_servicio::class, 'cliente_servicio', 'clientes_id', 'servicios_id');

El recorrido de los datos, también lo veo bien:

@foreach($client->Servicio as $servicio)
    <li>{{ $servicio->descripcion_servicio}}</li>
@endforeach

Solo veo eso del modelo para la tabla intermedia, no debería existir.

Otra cosa es... Confunde un poco que en el código uses español.

italomoralesf aportó en Cual paquete de permisos puedo usar ? hace 9 meses

De momento yo recomendaría Shinobi: ¿Por qué?

  • Esta semana terminamos de grabar el curso, así que ahí tienes el soporte y ejercicio necesario.
  • Acaban de actualizar para que funcione bien en Laravel 5.6

spatie/laravel-permission es un gran componente, yo le dedicaré (en el canal) una serie en el mes de Abril 2018. Tiene mejor alcance que Shinobi, pero como mencionas que es una "plataforma un poco sencilla", te recomiendo Shinobi

italomoralesf aportó en concatenar mas búsquedas... hace 9 meses

Yo creo amigo que debes hacer la pregunta un poco mas general, he visto que preguntas sobre un tema y hablas de jugadores, juegos, partidos y todo lo relacionado con de tu sistema; pero a veces no entendemos de esa manera.. Lo digo porque creo que tu proyecto es en si complicado, debes pensar como si podemos entenderte y ayudar.

Por ejemplo: En ese tema, puedes pretungar Busqueda y filtrado de varios campos en Laravel Eso es mucho mas entendible y estoy seguro que te lloverán respuestas.

Mientras, estaré leyendo tu pregunta a ver si doy con la solución.

Saludos.

italomoralesf aportó en Laravel Passport vs jwt, cuál usar hace 9 meses

Es una gran pregunta amigo: Yo diría que Laravel Passport es un paquete como cualquier otro para Laravel... Sucede que este paquete implementa OAuth2 y JWT. Podría decirse que Laravel Passport es la forma mas fácil de usar esta tecnología en Laravel.

Algunas definiciones

  • Laravel Passport es un paquete oficial de Laravel.
  • Auth0 es un servicio externo o de tercero de autenticación.
  • OAuth2 es un pequeño framework de autorización, por medio de él puedes dar acceso limitado a cuentas de usuario de GitHub y otros. De hecho yo diría que es la versión avanzada de Auth0, su versión 2.0.
  • JWT es un formato de token. Hay muchos formatos de token y este es en este momento (según observo) el mas popular.

Respondiendo a tu pregunta ¿Cuál usar?

Si desarrollas en Laravel deberías usa Laravel Passport porque fue creado especialmente para él.

Sin embargo, usa lo que desees, Laravel Passport o Auth, yo usaría el paquete oficial de Laravel, pero la elección real depende de ti. Solo puedo decirte que Laravel hace que la autenticación de API sea muy sencilla cuando usas el paquete Laravel Passport.

italomoralesf aportó en ayuda con consulta hace 9 meses

Postea tu solución y marca la mejor respuesta, tal vez tu propio descubrimiento :)

italomoralesf aportó en error al querer mostrar el el nombre del campo de una tabla relacionada con otra de muchos a muchos hace 9 meses

Revisa si al colocar así la relación puedes resolver: return $this->belongsToMany(Modelo_servicio::class, 'clientes_servicios', 'clientes_id', 'servicios_id');

La tabla clientes_servicios debe existir con los campos clientes_id, servicios_id porque el error hace referencia a que no consigue la tabla clientes_servicios