El uso del método Chunk()

laravel

El método Chunk es un método que ofrece Laravel para trabajar con colecciones. Su potencia es realmente impactante, a la hora de operar con grandes datasets, ya que nos permite separar en trozos la cantidad de datos con los que trabajar

Otros posts sobre Laravel

Si en Eloquent para obtener todos los registros de un modelo y mostrarlos en nuestro Blade,  hacemos algo asi:

$tareas = Tarea::all();
foreach ($tareas as $tarea) {
    // ...

Con Chunk haríamos esto:

Tareas::chunk(100, function ($tareas) {
    foreach ($tareas as $tarea) {
        // ...
    }
});

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

Subir montañas hermana hombres……

Métodos X o Y

laravel

Los métodos X o Y, son algunos de los que posee Eloquent , que agilizan y optimizan operaciones del tipo haz esto y si no esto, algunas de ellas son findOrFail  y firstOrCreate

Más de Laravel

Sin su uso, por ejemplo para lanzar un error cuando no esta usuario que esperamos, haríamos esto:

$user = User::find($id);
if (!$user) { abort (404); }

 si usamos findOrFail seria:

 si usamos findOrFail seria:

Si deseamos hallar el primer usuario con un email dado podemos hacer esto:

$user = User::where('email', $email)->first();
if (!$user) {
  User::create([
    'email' => $email
  ]);
}

O usar el método  firstOrCreate y hacerlo asi

$user = User::firstOrCreate(['email' => $email]);

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

Subir montañas hermana hombres……

El uso de save

laravel

El método Save,  tiene multiple usos en laravel y es una de esas herramientas que siempre es bueno tener a mano. Aquí les muestro algunos usos

Save con condición

En el siguiente ejemplo le pasamos a una función Save, un array con las opciones , y como puede apreciarse en la función protegida, pasamos el arreglo options condicionandom que si se cumplen determinada condición se actualice el Timestamp, al final a la variable products, le pasamos la función save() con el parámetro que necesitamos.

// src/Illuminate/Database/Eloquent/Model.php
public function save(array $options = [])

// src/Illuminate/Database/Eloquent/Model.php
protected function performUpdate(Builder $query, array $options=[])
{
  if ($this->timestamps && array_get($options, 'timestamps', true))
	{
	  $this->updateTimestamps();
	}
}

$product = Product::find($id);
$product->updated_at = '2015-01-01 00:00:00';
$product->save(['timestamps'=>false]);

Para devolver relaciones de los modelos

En este caso vemos su uso en el método store, donde le indicamos que si el usuario está autenticado guarde el  nuevo Post.

public function store()
{
	$post = new Post;
	$post->fill(Input::all());
	$post->user_id = Auth::user()->user_id;

	$post->user;

	return $post->save();
}

Tiene otros usos más, por ejemplo para insertar registros en la base de datos, dentro de los métodos update o store, en los controladores

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

Subir montañas hermana a los hombres……