<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\curso; //esto es para usar el modelo de alguna tabla de la bdd
class CursoController extends Controller
{
    //aqui creas todo el grupo de rutas de curso
    public function index(){//el index del controlador es curso en este caso y puedes pegar lo mismo que en web:
        //asi declaras variables van adentro
        $pizza=[
            ['sabor' => 'pepperoni','ingredientes' => 'carne'],
            ['sabor' => 'mexicana','ingredientes' => 'verdura'],
            ['sabor' => 'hawaiana','ingredientes' => 'piña']
        ];

        $varGet1 = request("source");//esta es la variable ?get en el url aunque también puedes ponerlo directo abajo

        $uriviews="Ejemplos Curso";//aun no se como jalar globals..., este es el nombre dentro del folder views
        return view($uriviews, [
            'variable1'=>'bla',
            'pizza'=>$pizza,
            "source"=>$varGet1
        ] );//asi pasas valores a tu template ['variable1'=>'bla','pizza'=>$pizza]
    }
    
    public function show($id){//por convención para los wildcards los llamas show
        //return "el id: ".$id;
        
        //QUERYS DE SQL en Laravel
        //$tablalang=curso::all();//trae toda la tabla
        //$tablalang=curso::orderBy('title','desc')->get();//esto trae la tabla ordenada 
        $tablalang=curso::where('id',$id)->get();//esto filtra en tal columna tal valor, trae un ARRAY
        //$tablalang=curso::findOrFail($id);//esto si no lo encuentra manda 404 no encontrado, trae un JSON no un array!
        //$tablalang=curso::latest()->get();//esto trae los ultimos si hay una columna llamara created_at por convención de laravel

         $pizza=[
            ['sabor' => 'pepperoni','ingredientes' => 'carne'],
            ['sabor' => 'mexicana','ingredientes' => 'verdura'],
            ['sabor' => 'hawaiana','ingredientes' => 'piña']
        ];
        
         return view("Ejemplos Curso", [
            'variable1'=>'bla',
            'pizza'=>$pizza,
            "source"=>$id,
            "tabla"=>$tablalang
        ] );
        
      }
    
    public function store(){//por convención para crear registros en la bdd
        //Queries para insertar
        $input= new curso();//esto crea un array para inyectar
        $input->url=request('nombre');// la variable del post al array como la columna        
        $input->json=request('extras');// la variable del post al array como la columna
        $input->save();//esto ya lo inyecta
        
        //return request('extras');
        return redirect("/curso")->with('mensaje',"Guardado");//el with crea variables session!!
    }
    
    public function destroy($id){//por convención para crear registros en la bdd
        //Queries para borrar
        $input=curso::findOrFail($id);//esto si no lo encuentra manda 404 no encontrado
        $input->delete();//esto ya lo borra
        
        //return request('extras');
        return redirect("/curso")->with('mensaje',"Borrado");//el with crea variables session!!
    }
    
    public function destroypost(){//por convención para crear registros en la bdd
        //Queries para borrar
        $input=curso::findOrFail(request('borrar'));//esto si no lo encuentra manda 404 no encontrado
        $input->delete();//esto ya lo borra
        
        //return request('extras');
        return redirect("/curso")->with('mensaje',"Borrado el ".request('borrar'));//el with crea variables session!!
    }
}
