[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”]
Cómo establecer el valor predeterminado en la migración de Laravel
Podríamos encontrarnos con casos en los que necesitemos establecer un valor predeterminado para una columna en la migración de Laravel.
Estos son algunos casos de uso que pueden inspirarte a trabajar en tu aplicación 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]
Valor predeterminado
Nulo (anulable)
El primer valor predeterminado que podríamos necesitar es una columna anulable, que la establece en nulo en la creación.
$table->string('title')->nullable();
Cadena
Luego, otras veces queremos establecer un valor predeterminado, que es una cadena. pero esta columna nunca sería nula.
$table->string('title')->default('the default value');
Cadena predeterminada con una columna anulable
Si necesitamos una columna anulable predeterminada, pero proporcionamos un valor en la creación.
$table->string('title')->nullable('the default value');
Expresión predeterminada
A veces queremos establecer un valor en un valor json predeterminado, por lo que debemos desenvolverlo de las comillas. Por lo tanto, podemos usare Illuminate\Database\Query\Expression.
La documentación de Laravel proporciona el ejemplo new Expression('(JSON_ARRAY())').
$table->json('movies')->default(new Expression('(JSON_ARRAY())'));
Esto puede ser una cadena o una matriz o cualquier cosa, con ayudantes en Laravel.
$table->string('title')->default(STR::plural('some value')));
$table->string('title')->default(Str::between('This', 'that', 'other'))));
Marca de tiempo actual predeterminada
Si necesitamos la hora actual, para que sea el valor p. de un nombre de columna, podemos usar.
$table->timestamp('published_time')->useCurrent();
Marca de tiempo actual predeterminada cuando actualizamos
$table->timestamp('published_time')->useCurrent()->useCurrentOnUpdate();
Valor p. para la columna existente
Si ya creamos un nombre de columna, pero queremos darle un valor p., podemos usar el método de cambio.
$table->string('title');
// we can change it to accept a default value
$table->string('title')->default('the default value')->change();
Gracias por llegar hasta aquí, si encuentras esto útil no olvides dejar un👍🏼y suscribirse para recibir más contenido.
Si le interesa, puede echar un vistazo a algunos de los otros artículos que he escrito recientemente sobre AWS y Laravel:
- Cree una aplicación de Full Stack en AWS: 100% sin servidor
- Cómo proteger su aplicación Laravel: los mejores consejos para la seguridad de Laravel
[/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]
