jueves, 29 de junio de 2017

Laravel [ErrorException] include(/home/vagrant/Code/fresh/vendor/composer/../../database/migrations/_create_users_table.php): failed to open stream: No such file or directory

Estaba yo intentando crear un archivo de migración para crear una nueva tabla en Laravel cuando, de repente, me salió el siguiente error:

[ErrorException]                                          include(/home/vagrant/path/to/vendor/composer/../../database/migrations/2017_06_29_205757     _create_users_table.php): failed to open stream: No such file or directory

La solución es primero ejecutar los dos siguientes comandos:

$ php artisan cache:clear

$ composer dump-autoload -o

Y ahora sí, volver a intentar crear tu archivo de migración para la creación de una nueva tabla en la base de datos con Laravel.

$ php make:migration create_users_table --table=users

Saludos a toda la Hinchada.

Laravel [Doctrine\DBAL\DBALException] Unknown database type enum requested, Doctrine\DBAL\Platforms\MySQL57Platform may not support it.

Una solución poco ortodoxa es simplemente borrar la columna del tipo enum manualmente en tu base de datos.

Y de ahí hacer el rollback de tu migración en un sólo paso:

$ php artisan migrate:rollback --step=1

Saludos.

Laravel Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found

Si después de ejecutar el comando

$ php artisan migrate

Te sale el siguiente error:

[Symfony\Component\Debug\Exception\FatalThrowableError]  

  Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found

Lo que tienes que hacer es ejecutar primero el siguiente comando:

$ composer require doctrine/dbal

Ahora intenta de nuevo el $ php artisan migrate

jueves, 15 de junio de 2017

Cómo actualizar registros con Laravel Eloquent update() save()

Si deseas actualizar una o más columnas de un registro con Laravel, la idea general es básicamente instanciar en una variable el modelo junto con el identificador (ID) del registro correspondiente.

Una primera manera sería:
$id = 1; //Obtienes, de alguna manera el identificador correspondiente o lo obtienes del $request ... si viene de un formulario

$user = User::find($id);
$user->active = 1;
$user->save();
Otra sería:
User::find($id)->update(['active' => 1]);
Saludos.

PHP utilizar la función preg_replace con diagonal "/" - error unknown modifier

Ciertamente utilizar el caracter de diagonal "/" dentro de la función preg_replace() provoca un error que dice "unknown modifier".

La solución es que, antes de aplicar la función preg_replace, primero aplica esta otra función que se llama preg_quote():
$elTexto = preg_quote($elTexto, '/');

//Ahora sí, aplica la función preg_replace como la tenías pensada, por ejemplo ....

preg_replace("/$elTexto/i", ... etc);
Saludos

sábado, 10 de junio de 2017

Laravel 5 NotFoundHttpException in Handler.php line 113 [SOLUCIONADO]

Este error suele salir cuando tienes en tu archivo de rutas routes.php a una ruta sin argumentos al final. Es decir, si tienes una o más rutas simples sin argumentos:
Route::auth();

Route::get('/home', 'HomeController@index');

Route::get('/index','WosController@index');
Route::get('/create','WosController@create');
Route::post('/create','WosController@store');
Y luego le pones una ruta más abajo con argumentos:
Route::auth();

Route::get('/home', 'HomeController@index');

Route::get('/index','WosController@index');
Route::get('/create','WosController@create');
Route::post('/create','WosController@store');
Route::get('/{workorder}','WosController@show');
Hasta ahí todo bien.

Pero si después de una ruta con argumentos pones una sin argumentos, es cuando te brinca el error 😱.
Route::auth();

Route::get('/home', 'HomeController@index');

Route::get('/index','WosController@index');
Route::get('/create','WosController@create');
Route::post('/create','WosController@store');
Route::get('/{workorder}','WosController@show');

Route::get('/foo', function () {
    return view('foo');
});
Lo que debes hacer es poner las rutas sin argumentos primero y al final poner las rutas con argumentos.
Route::auth();

Route::get('/home', 'HomeController@index');

Route::get('/index','WosController@index');
Route::get('/create','WosController@create');
Route::post('/create','WosController@store');

Route::get('/foo', function () {
    return view('foo');
});

Route::get('/{workorder}','WosController@show');
Saludos! 🤘🏽

jueves, 8 de junio de 2017

Laravel blade cómo hacer un @if con varias condiciones AND OR

Si quieres evaluar un @if con más de una condición en Laravel Blade, puedes intentar lo siguiente:
@if ($var1 === '1' || $var2 === '1')
    {{--Tu código aquí ...--}}
@endif
Saludos

Laravel blade asignar un valor a una nueva variable

Si estás en blade y quieres crear una nueva variable y asignarle un valor, haz lo siguiente:

{{ $var }}
saludos.

miércoles, 7 de junio de 2017

Obtener el año a partir de una fecha en cadena de texto con PHP

Para obtener el año de una fecha que está en una cadena de texto, por ejemplo '2016-06-17'; Hay que hacer lo siguiente:
$la_fecha = '2017-06-20';
echo 'La fecha es '.$la_fecha.'
'; $datetime = new DateTime(); $newDate = $datetime->createFromFormat('Y-m-d', $la_fecha); echo 'El año de término es '.$newDate->format('Y').'
';

Ojo que no estoy utilizando strtotime(); ya que dicha función no sirve después del año 2038
Es todo.

domingo, 4 de junio de 2017

Robarse un iPhone no debería ser cualquier cosa

Si eres un usuario que posee un iPhone (entendiendo que tú mismo te lo compraste o te lo dieron de regalo y siendo éste de procedencia lícita), puedes ayudar a disminuir a cero el número de robos.

Las recomendaciones son las siguientes:


  • * Deshabilita SIRI en el modo bloqueado. He visto varios videos en Youtube que muestran cómo desbloquear un iPhone sin contraseña a través de SIRI mediante trucos.
  • * Vincula tu iPhone (así como iPad y MacBook) a una cuenta en iCloud, ya que así no podrán resetearlo (a menos que cuenten con tu contraseña) y se mantendrá bloqueado.
  • * Activa la función de "Buscar mi iPhone"
  • * Configura la opción de "Acceso guiado". Es una buena opción de bloqueo porque desactivo las opciones de apagado y de volumen.


Qué hacer  si tu iPhone fue robado o si lo has perdido


Accede a tu cuenta en iCloud y selecciona la Opción de "Buscar mi iPhone". Si sospechas que tu iPhone anda cerca, puedes pedir en esa aplicación que el iPhone emita sonidos, para que lo puedas escuchar. También puedes ponerlo en modo "Perdido" y enviar un mensaje a la persona que lo tiene en su poder.

Si tu iPhone no emite señal en ese momento, puedes programar una alerta a tu correo electrónico que te avise de cuando tu iPhone ya ha sido encendido así como el envío de su ubicación.


...

viernes, 2 de junio de 2017

Obtener el número de días entre dos fechas con PHP

Para encontrar la diferencia en días entre dos fechas con PHP hay que hacer lo siguiente:
//General time settings:

date_default_timezone_set('America/Mexico_City');

$datetime1 = new DateTime('2017-06-01');
$datetime2 = new DateTime('2017-06-03');
$interval = $datetime1->diff($datetime2)->format("%a");
echo '

La duración en días del '.$datetime1->format('Y-m-d').' al '.$datetime2->format('Y-m-d').' es de '.$interval.' días.

';
Si se requiere contar con la diferencia de días desde el día cero, simplemente sumamos uno:
//General time settings:
date_default_timezone_set('America/Mexico_City');

$datetime1 = new DateTime('2017-06-01');
$datetime2 = new DateTime('2017-06-03');
$interval = $datetime1->diff($datetime2)->format("%a")+1;

echo '

La duración en días del '.$datetime1->format('Y-m-d').' al '.$datetime2->format('Y-m-d').' es de '.$interval.' días.

';
Saludos!
 

Tags