[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]
Fusionar una solicitud de Laravel sobre la marcha
Cómo cambiar o agregar un nuevo valor a un parámetro de solicitud de Laravel.
[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]
Solicitud de Laravel
La solución está en la Parte B.
Parte A: (Introducción)
Veamos primero cómo funciona la función auxiliar merge () en Laravel:
El método merge fusiona la matriz o colección dada con la matriz o colección original. Si una clave de cadena en los elementos dados coincide con una clave de cadena en la colección original, el valor de los elementos dados sobrescribirá el valor en la colección original:
$collection = collect(['product_id' => 1, 'price' => 100]);
agregar o actualizar la colección:
$merged = $collection->merge(['price' => 200, 'discount' => false]);
La nueva colección será:
$merged->all(); // ['product_id' => 1, 'price' => 200, 'discount' => false]
Si la matriz dada no es una matriz asociativa (las claves de los elementos dados son numéricas), los valores se agregarán al final de la colección.
$collection = collect(['Desk', 'Chair']); $merged = $collection->merge(['Bookcase', 'Door']); $merged->all(); // ['Desk', 'Chair', 'Bookcase', 'Door']
Parte B:
B-I: Lo que estamos fusionando es un valor simple.
Usted sabe que $request es un objeto y $request->all() es una matriz y no una colección.

Ahora, supongamos que hay una solicitud de que vamos a agregar o actualizar su valor asociado a la clave “imagen”. Simplemente puede hacer esto:


B-II: A veces, el valor (parámetro) que estamos fusionando (actualizando o agregando) es en sí mismo una matriz:
B-II-agregando:
En el caso de agregar y no actualizar, solo necesita seguir B-I.
Como ejemplo, suponga que no hay una clave de 'user' en $request->all()
Simplemente puede fusionar $arrayOfUserData como una matriz con $ request.

B-II-actualizando:
Si la clave 'user' y su valor (que es una matriz $arrayOfUserData) está en $request->all() y queremos modificar esa matriz $arrayOfUserData, primero, tenemos que modificar la matriz en algún lugar y luego fusionar la matriz modificada con la solicitud actual.

Resultado:

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]
Diego Pacheco
Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Recent Post
[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]
