You are on page 1of 7

##########################################################################

Traer mi repositorio desde git e instalarlo para continuar desarrollandolo


##########################################################################

Editar C:\Windows\System32\drivers\etc\hosts y agregar 182.168.0.125 vouchers-


fundacite.test

Editar homestead.yaml

Agregar en el apartado sites:

- map: vouchers-fundacite.test
to: /home/vagrant/proyectos/vouchers-fundacite/public

Agregar en el apartado databases:

- vouchers-fundacite

git clone git://github.com/szchmausser/vouchers-fundacite.git

cd hasta/Homestead
vagrant ssh

cd hasta/proyecto
composer install
mv .env.example .env (indicar en .env la base de datos a utilizar)
php artisan migrate --seed
php artisan key:generate

#################################################################################
Eliminar una carpeta del repositorio git (manteniendola en local, ejm: nbproject)
#################################################################################

http://git.linuxfunder.com/cmo-excluir-files-en-git-repo.html
https://www.bufa.es/git-borrar-archivos-carpetas/
https://code.i-harness.com/es/q/6054a6

Para borrar archivos o carpetas también “arriba” en nuestro respositorio


(bitbucket, github…) se usa el comando “rm” de git siguiendo los siguientes pasos.

* Si quieres eliminar un archivo (manteniendo la copia local):


git rm --cached -r miarchivo.php

* Si quieres eliminar una carpeta (manteniendo la copia local):


git rm --cached -r micarpeta

* Creamos el commit
git commit -m "elimino archivos innecesarios"

* Subimos los cambios al repositorio


git push origin master

http://git.linuxfunder.com/cmo-excluir-files-en-git-repo.html

####################
Revertir push en git
####################

http://www.7sabores.com/blog/como-revertir-un-push-git
Si por alguna razón necesitamos revertir los archivos de nuestro repositorio de Git
a un push anterior, debemos seguir los siguientes pasos.

1. Obtener hash ids de los últimos commits.


En necesario Identificar el hash id del commit al que queremos regresar, con el
siguiente comando vamos a ver los últimos 10 ids:

$ git log -10 --pretty="%H"

30ace57438659c6a715db441ffc6751f385db667
484121a5ed21e8b842ffe61783fde059103185b3
996ee5f0aabd18d14a73e0181780dcc9191337f4
2b0ea751d69c84b909b3011ba5de865125d209b2
944385404a3468fe6665be2d8cf1a71a5c995196
6b832d19e44d298d60c99a382f9e7e282c9c16f2
fad00716beff7b48890f0a96d82780bea685f39e
4339ddc09724d93bac456221a0c369c3d5a62c89
cf9a82f09bb799c2449854ba7d33ddf2cfff3b84
adf47c09992f147ab2b631713cc8dd612f21e83d

2. Retornar al commit deseado.


Cuando hayamos identificado el commit al que deseamos regresar nuestro
repositorio debemos ejecutar un comando similar al siguiente.

$ git reset --hard 484121a5ed21e8b842ffe61783fde059103185b3


HEAD is now at 484121a

3. Enviar los cambios al repositorio.


Ahora debemos enviar los cambios al repositorio con el siguiente comando.

git push --force

4. Actualizar repositorios.
Si tenemos algún clone del provecto en otro lugar, debemos hacer checkout del
commit al que deseamos volver ejecutando el siguiente comando.

git checkout 484121a5ed21e8b842ffe61783fde059103185b3

Espero les sea de utilidad.

######################
Subir cambios a GitHub
######################

git commit -a -m "Dando forma a los repostes desde la ruta /pagos y la ruta
/buscar"
git push origin master

######################
Bitacora de desarrollo
######################

### Instalar Laravel 5 IDE Helper Generator (Solo por primera vez)

https://www.youtube.com/watch?v=__QLbIo1AwQ

composer require barryvdh/laravel-ide-helper


After updating composer, add the service provider to the providers array in
config/app.php

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,

php artisan ide-helper:generate

En composer.json agregar en la seccion de scripts lo relacionado a "post-


update-cmd":

"scripts":{
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan ide-helper:generate",
"php artisan ide-helper:meta"
]
},

php artisan vendor:publish


--provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config

Automatic phpDocs for models

composer require doctrine/dbal

php artisan ide-helper:models Post User

Automatic phpDocs generation for Laravel Fluent methods

After publishing vendor, simply change the include_fluent line your


config/ide-helper.php file into:

'include_fluent' => true,

### Crear sistema de autenticacion y primeros usuarios

1. Crear autenticacion mediante artisan

php artisan make:auth


php artisan migrate

2. Desde un seeder, crear los primeros usuarios para loguear en la aplicacion

Nota: Los modelos estan nomnbrados en singular, los Seeders en Plural +


TableSeeder (Model=User / Seeder=UsersTableSeeder). Aqui se generaran los usuarios
con los nombres, email, claves y demas valores que deseemos colocar a los usuarios.

php artisan make:seeder UsersTableSeeder

Agregar en app/database/seeds/UsersTableSeeder.php

public function run()


{
DB::table('users')->insert([
'name' => 'Usuario Uno',
'email' => 'usuariouno@email.tld',
'password' => bcrypt('123456'),
]);
DB::table('users')->insert([
'name' => 'Usuario Dos',
'email' => 'usuariodos@email.tld',
'password' => bcrypt('123456'),
]);
}

Habilitar la ejecucion de este seeder en


app/database/seeds/DatabaseSeeder.php descomentando la linea:

// $this->call(UsersTableSeeder::class);

Ejecutar el seeder:

php artisan db:seed

### Pagina para mostrar todos los pagos

- Crear rutas

Editar routes/web.php y agregar:

Route::resource('empleados', 'EmpleadoController');
Route::resource('conceptos', 'ConceptoController');
Route::resource('pagos', 'PagoController');

- Crear controlador

php artisan make:controller PagoController --resource


php artisan make:controller EmpleadoController --resource
php artisan make:controller ConceptoController --resource

Verificar nuevas rutas con artisan: artisan route:list

- Crear modelo (y su migracion)

php artisan make:model Empleado -m

En la migracion del modelo Empleado, crear la estructura de la tabla


empleados:

$table->increments('id');
$table->integer('cedula');
$table->string('nombre');
$table->string('apellido');
$table->date('fecha_nacimiento');
$table->string('telefono');
$table->date('fecha_ingreso');
$table->string('tipo_contrato');
$table->string('profesion');
$table->string('departamento');
$table->string('cargo');
$table->string('observaciones');
$table->boolean('activo');
$table->timestamps();

php artisan make:model Concepto -m

En la migracion del modelo Concepto, crear la estructura de la tabla


conceptos:

$table->increments('id');
$table->string('tipo');
$table->string('descripcion');
$table->timestamps();

php artisan make:model Pago -m

En la migracion del modelo Pago, crear la estructura de la tabla pagos:

$table->increments('id');
$table->date('fecha');
$table->unsignedInteger('empleado_id');
$table->unsignedInteger('concepto_id');
$table->integer('monto');

$table->foreign('empleado_id')->references('id')->on('empleados');
$table->foreign('concepto_id')->references('id')->on('conceptos');

$table->timestamps();

- Llenar manualmente las tablas en la base de datos

Tabla empleados:

INSERT INTO `empleados` (`id`, `cedula`, `nombre`, `apellido`,


`fecha_nacimiento`, `telefono`, `fecha_ingreso`, `tipo_contrato`, `profesion`,
`departamento`, `cargo`, `observaciones`, `activo`, `created_at`, `updated_at`)
VALUES
(1, 17201169, 'Vioscar', 'Rivero', '1985-05-31', '04262477354',
'2007-05-16', 'fijo', 'T.S.U Informatica', 'Informatica', 'Programador II',
'', 1, NULL, NULL),
(2, 15513131, 'Laurimar', 'De Sousa', '1982-09-22', '04161408081',
'2008-05-16', 'contratado', 'Ing. de Sistemas', 'Informatica', 'Coordinador',
'', 0, NULL, NULL);

Tabla conceptos:

INSERT INTO `conceptos` (`id`, `tipo`, `descripcion`, `created_at`,


`updated_at`) VALUES
(1, 'Asignacion', 'Sueldo', NULL, NULL),
(2, 'Asignacion', 'Prima de profesionalizacion', NULL, NULL),
(3, 'Asignacion', 'Prima por hijos', NULL, NULL),
(4, 'Deduccion', 'I.V.S.S', NULL, NULL),
(5, 'Deduccion', 'Caja de ahorros', NULL, NULL);

Tabla pagos:

INSERT INTO `pagos` (`id`, `fecha`, `empleado_id`, `concepto_id`,


`monto`, `created_at`, `updated_at`) VALUES
(2, '2018-01-15', 1, 1, 1800, NULL, NULL),
(3, '2018-01-15', 1, 2, 220, NULL, NULL),
(4, '2018-01-15', 1, 3, 150, NULL, NULL),
(5, '2018-01-15', 1, 4, 50, NULL, NULL),
(6, '2018-01-15', 1, 5, 20, NULL, NULL);

- Crear vista
Crear empleados.blade.php / conceptos.blade.php / pagos.blade.php sin
contenido alguno.

- Mostrar registros de la base de datos en la vista de forma rapida

Agregar llamado al modelo Empleado y consulta de datos del modelo en la


funcion index()

En EmpleadoController.php

use App\Empleado;

return $empleados = Empleado::all();

En ConceptoController.php agregar:

use App\Concepto;

return $conceptos = Concepto::all();

En PagoController.php agregar:

use App\Pago;

return $pagos = Pago::all();

- Editar la vista welcome.php y agregar enlaces a cada vista

<a href="{{action('EmpleadoController@index')}}">Empleados</a>
<a href="{{action('ConceptoController@index')}}">Conceptos</a>
<a href="{{action('PagoController@index')}}">Pagos</a>

Abrir los enlaces correspondientes y observar los datos extraidos desde la


base de datos.

#############################################################################
Establecer relaciones entre modelos, consultar datos y mostrarlos en la vista
#############################################################################

Nota: La tabla que contiene la clave externa "pertenece/belongsTo" a un registro en


otra tabla.
https://www.youtube.com/watch?v=fJmSZVQIbXs

Modelo: Pago.php

public function empleado()


{
return $this->belongsTo(Empleado::class); //empleado_id
}

public function concepto()


{
return $this->belongsTo(Concepto::class); //concepto_id
}

Modelo: Empleado.php

public function pagos()


{
return $this->hasMany(Pago::class);
}

Modelo: Concepto.php

public function pagos()


{
return $this->hasMany(Pago::class);
}

#############################################################################
Notas sobre programacion dentro de controladores y vistas
#############################################################################

Controlador: PagoController.php@pruebas

//https://laracasts.com/discuss/channels/eloquent/eloquent-equivalent-of-inner-
join?page=1
//https://laravel.io/forum/07-21-2015-eloquent-between-two-dates-from-database
//https://richos.gitbooks.io/laravel-5/content/capitulos/chapter7.html
//https://es.stackoverflow.com/questions/176828/consulta-m%C3%BAltiples-tablas-
con-laravel-eloquent
//https://es.stackoverflow.com/questions/115244/como-consultar-registros-entre-
dos-tablas-relacionadas-en-laravel
//https://laraveles.com/foro/viewtopic.php?id=6079
//http://www.rephp.com/laravel-eloquent-suma-de-la-columna-de-relacion.html

//http://laragems.com/post/eloquent-cheat-sheet

//https://scotch.io/tutorials/a-guide-to-using-eloquent-orm-in-laravel
//https://eloquentbyexample.com

Vista: pagos.blade.php

You might also like