Conexión VUEjs y Laravel - API

En este video vamos a crear el código necesario para iniciar el API, como primer paso utilizaremos datos de ejemplo (seeder) y configuramos el controlador ya creado para las consultas a nuestra Base de Datos.

Inicia sesión para poder registrar las lecciones que has completado Login

Lo primero que vamos a necesitar será la creación de datos de prueba, o más conocidos como datos semilla (seeders). Con el comando php artisan make:seeder TasksTableSeeder creamos un nuevo archivo seeder para llenar con información la tabla Tasks.

 

Creación del Seeder

En el archivo database/seeds/DatabaseSeeder.php dentro de su método run() configuramos la invocación a nuestro archivo seeder creado.

public function run()
{
    $this->call(TasksTableSeeder::class);
}

Luego, en el archivo del seeder database/seeds/TasksTableSeeder.php invocamos la entidad use App\Task; y dentro de su método run() utilizamos el método Factory para crear 5 nuevos registros del modelo.

public function run()
{
    factory(Task::class, 5)->create();
}

Para establecer los campos que se van a llenar y con que se van a llenar, necesitamos configurar el archivo database/factories/ModelFactory.php de la siguiente manera.

$factory->define(App\Task::class, function (Faker\Generator $faker) {
    return [
        'keep' => $faker->sentence,
    ];
});

Para finalizar utilizamos el comando php artisan migrate:refresh --seed y con toda esta configuración realizada se crearán 5 registros nuevos con data de ejemplo en la tabla Tasks de la base de datos.

 

Configuración del Controlador

Dentro del controlador de nuestra aplicación necesitamos preparar los métodos para que VUE se pueda comunicar con ellos y obtener los datos necesarios. Como primer paso y muy importante es invocar la entidad use App\Task; en la parte superior de nuestro controlador, ya que por medio del modelo Task podremos establecer consultas a los datos almacenados.

Al método index() del controlador lo vamos a utilizar para conseguir todos los registros disponibles.

public function index()
{
    $tasks = Task::get();
    return $tasks;
}

El método edit($id) del controlador va a mostrar un formulario pero con datos, esos datos se van a buscar por el valor del id recibido.

public function edit($id)
{
    $task = Task::findOrFail($id);
    //Formulario
    return $task;
}

Por último el método destroy($id) del controlador va a tener la lógica de eliminación, se va a buscar un registro a partir del id y luego con el método delete() se realiza su eliminación.

public function edit($id)
{
    $taks = Task::findOrFail($id);
    $taks->delete();
}

Los métodos create(), store() y update() irán siendo configurados a detalle en los siguientes videos dentro del curso, ya que son métodos que requieren de una lógica un poco más compleja.

Listo! Ya se han colocado y configurado los métodos básicos con el código necesario para iniciar nuesta API. Con el comando php artisan route:list podemos utilizar las rutas disponibles conectadas a los métodos que hasta ahora se han configurado para realizar pruebas del acceso a los datos.

Adquiere en preventa y aprovecha un gran descuento TDD en Laravel

Comparte en

Creado por: Venezuela Italo Morales

Profesor de #Laravel y #PHP en Rimorsoft Online

Más información


Ordenar tabla relacionada por id descendente

Hola, necesito usar el orderBy('id', 'DESC') en mi controlador pero no se como incorporarlo sin que me de error necesito que la tabla post se ordene por id descendente pero al ser una tabla relacionada no lo consigo

  public function show($id)
    {

        $product = Product::with('Dsa')->with('Post')->find($id);
        
  

        return view('products...

Carga de registros, con datatables

Sera que datatables no aguanta una cantidad de registro mayor a 1 millon. tengo problemas con esa parte las consultas de busquedas se toman mucho tiempo. alguien que mepueda apoyar en esa parte. ...

Controlador laravel modificar ruta path

Actualmente al subir una imagen con mi Controlador la guarda en una capeta llamada image situada en el directorio public y me gustaria que cuando suba una imagen dentro de la carpeta image cree una nueva carpeta dentro de image con el nombre del usuario y esta sea donde guarde las imagenes pero no consigo agregar esa variable al controlador me da error...

  public functi...

Muriendo a causa de SOAP

Soy nuevo en el uso de web service y en rimorsoft, sin embargo no tengo idea de como crear y que necesito para hacer un servidor soap en php alguien podria ayudarme/orientarme con una guia aunque esta sea pequeña sera bien agradecida...

Tengo un archivo XSD para trabajarlo pero repito, no tengo idea ni de como comenzar y trabajarlo, se que tengo que crear un server soap y d...