Moisés Cedeño
angel gutierrez
Johanna Apure Canónico
Pablo Gúzman
Alfonso Navarro
Company_adminDaniel Muñoz Martín
Jesús Enrique Prieto Treviño
Erick Leao Pérez Medina
Martha Muñoz
Francisco Daniel Carvajal Becerra
ProfesorMariley Erika Condori Calla
Jimmy Buriticá Londoño
Emmanuel Rodríguez
Daniel Hurtado
Carlos Andres Castañeda Osorio
Santiago Arboleda Londoño
Enrique Garcia Stave
Jimmy Buriticá Londoño
Jhonathan Alfonso
walter Jorge
Eduin Morales
Lorena Pena Verdú
Edward Suarez
Jhonathan Alfonso
José Antonio Quintanilla Umaña
Jhonathan Alfonso
Samuel Antonio Rojas Dugarte
Luis Lazcano
xxxxxxxxxx xxxxxxxxxxxxxxxx
Juan Castro
Profesorjarvinson Valencia
Luis Alberto Cruz Orellana
Andrés Felipe Lopez gomez
Paul Cortes
José Jesús Quilarque
Sergio Veloza
Para crear la columna title después de la columna 'id' y que esté mejor estruturado:
$table->text('title')->after('id');
pero eso solo funciona en MySql por que lo probe en postgreSql y no lo hace
Yo uso PostgreSQL 11.10 (Debian 10) y funciona
Por eso odio las versiones de Laravel, después te salen con el siguiente error a la hora de hacer lo que el maestro hace y no sabes por que.
Este error salio:
Symfony\Component\Debug\Exception\FatalThrowableError : syntax error, unexpected ':', expecting ',' or ')'
Pero claro que después de un rato el batallar por que revisar el código del maestro y el tuyo y es igual.
Pero la bronca es la versión de Laravel el cual modifica ciertos detalles como lo que encontré para que funcionara.
Codigo del maestro:
$table->text( column: 'title' );
Mi código
$table->text( 'title' );
Se quita el column:, el 2 puntos marca el error. Por si alguien le salio mal.
@CreatividadMovil2018 el "column" que le aparece al profesor, lo coloca como una ayuda el editor de texto q el utiliza llamado WebStorm, es un editor pago q coloca automáticamente esas ayudas, pero Laravel no fue q cambio de versión y antes lo tenia y ahora no.
Ese detalle es muy importante q lo tengas en cuenta ya q esas ayudas aparecen muy frecuentemente a lo largo del curso .
anRoswell tiene razón, el texto column que aparece en color gris es una ayuda del editor de código, si te fijas en otras partes del curso verás como también aparece valores como: default, key, etc... ese texto no tienes que escribirlo es para ayudarte a entender los parámetros que se les pasa a las funciones por ejemplo: el primer parámetro es la key, el segundo un valor default cosas de ese estilo !
¿Utilizamos tinker porque aún no tenemos creado una UI?
Precisamente, tinker permite interactuar con nuestras clases sin tener una UI. Yo lo utilizo también para verificar rapidamente los queries que estoy desarrollando.
Tinker permite utilizar las clases y modelos que tienes en la App de Laravel desde la consola de comandos, con esto puedes por ejemplo probar queries y resultados antes de escribirla en el código
En lugar de escribir:
App\Models\expenseReport::all();
Podemos escribir:
$report::all();
Esto debido a que ya habiamos almacenado en la variable $report una instancia de la clase ExpenseReport.
Si estas trabajando en la version 6 de laravel, ya no es necesario poner columns dentro de los paréntesis laravel#creandocolumnas
public function up() { Schema::table('expense_reports', function (Blueprint $table) { $table->text('title'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('expense_reports', function (Blueprint $table) { $table->dropColumn('title'); }); }
Gracias.
Si están utilizando postgres 10, en vez de mysql, tuve el siguiente error.
Illuminate\Database\QueryException : SQLSTATE[23502]: Not null violation: 7 ERROR: column "title" contains null values (SQL: alter table "expense_reports" add column "title" text not null)
Lo resolví anexando:
$table->text('title')->nullable();
Por si gustan intentar con postgres.
No creo que tu error tenga algo que ver con el motor que usas, si no que no estableciste nada al campo 'title'
Otra solución si no se desea aceptar valores null en el campo es colocar un valor por default:
$table->text('title')->default('El valor que desees');
Además de los tipos de columna, hay varios "modificadores" de columna que se pueden utilizar al añadir una columna a una tabla de base de datos. Por ejemplo, para hacer que la columna "title" esté después de la columna "id", debes utilizar el siguiente método:
$table->text('title')->after('id');
Apuntes: Las migraciones practicamente nunca las modificamos, practicamente lo que hacemos es agregar una migracion adicional haciendo referencia a la tabla a la que vamos a realizar la modificacion, de esta forma si alguien ya corrió la primera migracion que hacia referencia a dicha tabla, con el nuevo envío, se va a realizar la modificacion. Para ello podemos escribir algo como lo siguiente: php artisan make:migration create_column_title_in_reports --table=expense_reports De esta manera, al notificar mediante el comando, que vamos a trabajar sobre una tabla, veremos espacios en los respectivos metodos de migracion del archivo creado para trabajar sobre ellos.
Les comparto el link actualizado con la documentación de Eloquent: https://laravel.com/docs/7.x/eloquent
Gracias bro!
hola a alguien le salió este error
$report = new App\ExpenseReport(); PHP Fatal error: Class 'App/ExpenseReport' not found in Psy Shell code on line 1
Estoy estancado hace varios días en esta lección, al utilizar tinker tengo errores como este PHP Warning: Creating default object from empty value in Psy Shell code on line 1
Alguna solución?
y qué comando ejecutas para que te de ese error?
Es hermoso que todo funcione a la primera
Jajajaj ya va tomando forma!
excelente para comenzar con lo básico de migraciones
Y vienen más cosas geniales!
Para poder colocar la columna 'title' despues de la columna 'id' y asi tener una mejor estructura coloquen esto:
$table->text('title')->after('id');
¿Cual es la nomenclatura que deben de tener los nombres de las tablas? ¿Cual es la nomenclatura para los campos y cuando tienen mas de dos sufijos esos campos por ejemplo descriptionName description_name?
existen varios estándar, el más común:
1.- Utlizar '' en lugar de espacios 2.- Colocar la primera letra del tipo de datos 3.- Nombre del campo, si son dos o más palabras, separar con '' 4.- Si el campo es primary key colocar _pk al final 5.- _fk si es foreign key.
ejem:
i_numero_alumno_pk
Estos recursos pueden ser útiles:
:point_right: https://es.stackoverflow.com/questions/26452/qu%C3%A9-convenci%C3%B3n-de-nombrado-debo-utilizar-en-bases-de-datos :point_right: https://profesores.virtual.uniandes.edu.co/~isis2304/dokuwiki/lib/exe/fetch.php?media=tutoriales:estandares_de_nombramiento_de_objetos_en_una_bd.pdf :point_right: https://platzi.com/discusiones/1272-sql-mysql/31202-alguien-tiene-una-guia-sobre-que-nomenclatura-se-debe-usar-en-las-bases-de-datos/
Alguien sabe sobre este erro? Ya utilicé php artisan cache:clear y nada
Es por que te hace falta esa carpeta o no tienes permiso "boostrap/cache"
Si ya esta creada intenta abrir la consola en modo administrador
Excelente clase
Excelente los modelos las migraciones
Notas:
Tip del mentor: No edites de forma directa la migración, crea una nueva con la información, para así cuando se corran las migraciones todo el equipo pueda correr las migraciones que hagan falta