Anuncio

Entra a participar en el Slack de Laraveles. Solicita tu invitación aquí.
Nos ayuda a manter la comunidad

#1 Laravel » Laravel 5.3 envia email duplicado » 19/02/2017 16:10:55

Smith
Respuestas: 0

Hola gente, hace bastante no pasaba por el foro. Quería saber si alguno me puede ayudar con un problema que tengo con los emails.
Tengo un formulario de contacto, donde la gente puede enviarme un email, el formulario funciona bien, pero me envía 2 veces el mismo email. Para empezar a descartar opciones me envie un email desde gmail, para descartar que sea alguna configuración de mi hosting o algo, pero al enviarme el email desde gmail se me envio bien, es decir, solo 1 vez. aca dejo el codigo a ver si alguno me puede dar una mano.

Ap\Http\Controllers\ContactController:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;

use App\Http\Requests\ContactRequest;
use App\Http\Controllers\Controller;
use App\Mail\ContactForm;

class ContactController extends Controller
{
    public function __construct()
    {
        //
    }

    public function index(Request $request)
    {
        return view('contact.show');
    }

    public function contact(ContactRequest $request)
    {
        $data = $request->all();

        Mail::queue(new ContactForm($data));

        return response()->json("Mensaje enviado!");
    }
}

App\Mail\ContactForm:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class ContactForm extends Mailable
{
    use Queueable, SerializesModels;

    public $data;

    public function __construct(array $data)
    {
        $this->data = $data;
    }

    public function build()
    {
        return $this->from($this->data['email'])
                    ->subject($this->data['subject'])
                    ->view('emails.contact');
    }
}

#2 Ayuda » actualizar varios registros al mismo tiempo! » 02/10/2016 22:50:41

Smith
Respuestas: 1

Hola gente
Quería saber como actualizar varios registros, recién busque en la doc de laravel (encontre un par de cosas pero creo que no me sirven para lo que quiero hacer)
El tema es el siguiente, desde el frontend recibo un array de js via ajax con el siguiente formato:

{
    id: 1,
    position: 12
}

la idea es capturar ese array y actualizar todos los registros que tiene el array. Por ejemplo, si el array tiene los siguientes elementos:

{
    id: 1,
    position: 10,
{
    id: 2,
    position: 11
},
{
    id: 3,
    position: 20
}

la idea seria actualizar los registros con el id 1,2 y 3 de la tabla X con el valor 10,11 y 20.
En el controlador podría ir recorriendo el array y ir haciendo un update "normal" pero creo que es poco eficiente, hay alguna otra forma de hacerlo ?

#3 Re: Ayuda » Laravel no encuentra las imágenes en el servidor » 17/09/2016 15:03:43

Para que las imagenes se puedan ver, tienen que estar dentro del directorio publico /public_html. O, si las vas a alojar en resources deberías de crear un link simbólico, pero en los hosting compartidos me parece que no se puede.
De momento, aloja las imagenes en public_html y al entrar a tu web, apretá f12, anda a la solapa que dice "red" y fijate que error te tira en las imagenes

#4 Re: Preséntate » Saludos desde Argentina » 16/09/2016 09:50:26

Bienvenido,
Saludos desde Mar del plata!

#5 Re: Ayuda » Laravel 5.3 make:auth no funciona » 14/09/2016 16:32:55

fijate si se te actualizo el archivo web.php de las rutas

#7 Re: Ayuda » Undefined variable con View Composer » 13/09/2016 16:54:10

En vez de hacerlo asi:

View::composer(['front.index'],'App\Http\ViewComposers\AsideComposer');

hacelo asi, a ver que pasa:

View::composer('front/index','App\Http\ViewComposers\AsideComposer');

https://laravel.com/docs/5.3/views#view-composers

#9 Re: Ayuda » Laravel no encuentra las imágenes en el servidor » 13/09/2016 16:48:31

Podrías decir que error aparecen en los logs ?, las imágenes las tenes en una carpeta dentro de public o están todas sueltas en public ?

#10 Re: Ayuda » Dudas a cerca de las versiones de laravel al crear un proyecto » 13/09/2016 16:46:39

Buenas,
Solo para aclarar, no hace falta utilizar un comando para crear una clase, migración, evento, o lo que sea. Podes hacerlo con un click clic derecho, crear nuevo archivo... lo aclaro porque a veces confunde. Con respecto a lo que preguntas, no hace falta aclarar nada a la hora de crear un archivo con php artisan. saludos

#11 Re: Preséntate » Saludos de Argentina » 13/09/2016 16:44:22

Bienvenido, saludos desde Mar del plata !

#12 Re: Preséntate » Saludos desde Buenos Aires » 13/09/2016 16:42:21

Holas desde Mar del plata!! bienvenido

#13 Re: General » Manual Basico para aprender Laravel 5.1 » 18/08/2016 10:51:10

Yo creo que estas cometiendo el error de querer usar un framework sin saber programar ni saber al menos lo básico de poo. Mucha gente hace lo mismo que vos, lo cual para mi esta mal, porque no estarías aprendiendo a programar, estarías aprendiendo a usar un framework y depender de el.
Para mi lo que tenes que hacer es aprender php (sin frameworks ni nada) luego empezar con poo y cuando ya tengas una buena base y entiendas varios conceptos quizás, arrancar con un framework para empezar a aprender buenas practicas.

#14 Re: Ayuda » Error 405 Metodo no permitido » 14/08/2016 16:42:11

Solo te pasa cuando es por ajax ? o siempre que haces submit en un formulario ?

#15 Re: Paquetes » Paquete para hacer un chat con laravel » 12/08/2016 16:45:40

En verdad php no es un buen lenguaje para implementar un chat en tiempo real, pero si que hay paquetes para eso: https://github.com/dazzz1er/confer

#16 Re: Ayuda » Foreach para subir más de una imagen » 07/08/2016 20:02:45

Lo que deberias de hacer es lo siquiente:
Tener una tabla "articles" donde guardar datos relacionados al articulo (nombre, el slug del nombre, contenido, etc)

Tener una tabla "images" donde tengas el id de la imagen, el id del articulo y el nombre de la imagen.

En tu metodo "sotre" del controlador de articulos podrias hacer algo como esto:

$data = $request->all();

// guardas el articulo
$article = Article::create($data);

// Si el articulo se guardo en la base de datos pasas el control al metodo "sotre images" donde le pasas el articulo que se guardo, y las imagenes
if ($article) {
     return $this->storeImages($article, $data['images']);
}

Y tu metodo "sotreImages" podria ser algo como esto:

private function storeImages(Article $article, array $images)
{
    $i = 0;
    $dbImages = [];

    foreach ($images as $image)
    {
        // Nombre de la imagen
        $imageName = $article->slug_name . '-' . $i . '.' . $image->getClientOriginalExtension();

        // Guardas la imagen en el servidor
        \Storage::disk('public')->put($imageName,  \File::get($image));

   
        $movedImage = new \App\Image([
            'article_id' => $article->id,
            'name'       => $imageName,
        ]);

        array_push($dbImages, $movedImage);

        $i++;
    }
  
    // Guardas las imagenes en la base de datos
    $imagesSaved = $article->images()->saveMany($dbImages);

    if ($imagesSaved)
    {
       return 'las iamgenes se guardaron en la db';
    }

    return 'las imagenes no se guardaron en la db';
}

Quizas tengo algun error de sintaxis, escribi el ejemplo muy radido, pero bueno es para darte una idea. Tene en cuenta hacer las relaciones en los modelos tambien

#17 General » Consulta sobre estructura de tablas » 06/08/2016 19:40:34

Smith
Respuestas: 0

Hola buenas a todos,
Tengo una consulta sobre como generar una estructura de tablas correcta y quería ver si me pueden ayudar.

Estoy haciendo una tienda online, la tabla de productos ya esta hecha, en ella simplemente guardo el nombre del producto, el precio, el id de la categoría, y algunos datos mas. El problema es que, en la tienda, a la hora de comprar un producto, el usuario tiene que seleccionar el modelo, por ejemplo:

Agrego el producto "impresora" a la tienda, pero no vendo solo una impresora, sino que vendo el modelo 2014, 2015 y 2016 de esa impresora (espero me puedan entender).

Lo primero que se me ocurrió fue la posibilidad de agregar 3 veces el  producto en la tienda con distinto nombre, pero me parece una solución medio rudimentaria. La otra opción que se me ocurrió fue la de guardar los modelos en una tabla aparte, entonces, antes de ir a la sección "agregar producto" primero debería ir a la sección "agregar modelos", agregar todos los modelos que yo quiera y después a la hora de agregar el producto indicar los modelos disponibles que tengo cargados en la tabla, pero nose si seria una buena alternativa a implementar.

Desde un principio descarte la opción de que en la tabla productos haya un campo de tipo enum ya que eso me limita a que el producto tenga solo un modelo, y tampoco podría agregar nuevos modelos a futuro.

Quería saber si alguno me puede dar alguna sugerencia, ya que no quiero implementar malas practicas big_smile

#18 Re: Ayuda » Como cerrar sesión al cerrar la ventana del navegador? » 07/07/2016 17:13:40

config, session.php:

/*
    |--------------------------------------------------------------------------
    | Session Lifetime
    |--------------------------------------------------------------------------
    |
    | Here you may specify the number of minutes that you wish the session
    | to be allowed to remain idle before it expires. If you want them
    | to immediately expire on the browser closing, set that option.
    |
    */

    'lifetime' => 120,

    'expire_on_close' => false,

#19 Ayuda » Gestion de paginas » 01/07/2016 14:14:58

Smith
Respuestas: 0

Hola a todos,
Tengo que hacer una blog, que además en la parte administrativa, tenga la posibilidad de crear nuevas páginas (solo con texto). Por ejemplo, en el front el menú es el siguiente: home - blog - contacto. La idea es que el usuario desde la parte administrativa pueda agregar la página "servicios" y el menú quede asi: home - blog - contacto - servicios. Esta nueva pagina es solo texto y tendría que extender del theme principal.

Nunca hice algo asi, y queria ver si me pueden dar una mano. Lo que se me ocurrió es que en la parte administrativa haya un editor de texto donde el usuario pueda escribir el contenido que tendrá la nueva página, ingrese el nombre de esa página y con eso generar un archivo blade.php que  extienda del theme. Y guardar el nombre y slug de la nueva pagina para poder mostrarlo en el menú del fonrend. Pero la verdad creo que no es una buena idea, alguno me puede orientar ?

#20 Re: Ayuda » Bloquear registro mientras es editado por un Usuario » 22/06/2016 21:48:04

Hola, probaste usar los eventos de eloquent ? podes usar el evento updating, para capturar el momento justo en el que se está actualizando un registro en la base de datos: https://laravel.com/docs/5.1/eloquent#events
O quizás esto no te sirve del todo pero podes tomarlo como base y generar tu propio evento y lanzarlo cuando el usuario esta viendo un documento para actualizarlo.

#21 Re: Ayuda » Ayuda » 20/06/2016 22:47:22

Proba limpiar todas tus vistas, para que se vuelvan a "compilar". Quizás edistaste alguna vista y no se "compilo" correctamente. Para limpiar las vistas hace un

php artisan view:clear

#22 Re: Ayuda » Como hacer un lockscreen con laravel 5.1 » 30/05/2016 16:41:45

tendrias que utilizar javascript.. contar cuantos segundos pasaron desde que no se movió el mouse, y si pasaron x segundos entonces llamar a una ruta, esa ruta va a cerrar la sesión, bloquearla, o lo que tenga que hacer (estoy hablando del lado del backend) , y va a mostrar esa vista. Si mal no recuerdo hay un pluggin para jquery que cuenta cuantos segundos pasaron desde que se dejo de mover el puntero del mouse pero no recuerdo el nombre.

#23 Re: Ayuda » Problemas con el deploy » 24/05/2016 14:03:47

revisaste los logs a ver que error te tira ?

#24 Re: Ayuda » Problemas con funcion show » 21/05/2016 13:48:26

no. Algo asi:

$monitores[];

foreach($equipos as $equipo) {
    $temp=$this->monitor->where('equipo_id','=',$equipo->id)->get();
    array_push($monitores, $temp);
}

#25 Re: Ayuda » Problemas con funcion show » 21/05/2016 13:34:14

Creo que el problema es que cada vez que se hace un ciclo en el foreach, se ejecuta la consulta, y se guardan los resultados dentro de $monitores, entonces obviamente solo vas a ver los registros de la última consulta que se ejecutó. Quizás $monitores debería de ser un arreglo, entonces guardas la consulta en por ejemplo $temp, luego ese $temp lo agregas al final del arreglo $monitores

Pié de página <- REVISAR ->

Powered by FluxBB

Ayuda a mantener la comunidad: