Diseño Sistema web PHP con laravel y Mysql (14-36) Modelo y Request Persona
Continuamos en este videocurso para diseñar un sistema web en el lenguaje de programación PHP con el framework Laravel utilizando como gestor de base de datos MySql.
En este capítulo agregaremos nuestro modelo Persona y nuestro archivo de validación request PersonaFormRequest, para poder realizar las consultas y actualizaciones respectivas de nuestros clientes y proveedores que se almacenarán en la tabla persona pero que se diferenciarán por el campo tipo de persona. Implementaremos después nuestro controlador ClienteController ya que si será necesario tener un controlador tanto para las funciones respectivas del cliente y otro para las funciones de los proveedores.
Paquete Premium:
45 Videos (Curso completo)
Código fuente del sistema completo, con las funcionalidades terminadas y mejoradas.
http://www.incanatoit.com/2016/11/codigo-sistema-compras-ventas-laravel-mysql-jquery-bootstrap.html
Paquete Gratuito:
35 Videos
Código fuente del sistema desarrollado en el curso.
Puedes revisar todo el curso gratuito en mi canal de youtube www.youtube.com/jcarlosad7 desde:
https://www.youtube.com/watch?v=Zj0pshSSlEo&index=2&list=PLZPrWDz1MolrxS1uw-u7PrnK66DCFmhDR
Puedes descargar todos los recursos del curso gratuito (Base de datos, Plantilla, Sistema completo, ) del siguiente enlace:
https://drive.google.com/open?id=1NOhkw5zSCXIgAkc3Cn6AYviARCm3HKVd
Puedes ver el código inicial en github en la siguiente dirección:
https://github.com/jcarlosad7/crudLaravelTutorial
Revisa la documentación de laravel 5.2
https://laravel.com/docs/5.2
Modelo Persona
En este capítulo agregaremos nuestro modelo Persona y nuestro archivo de validación request PersonaFormRequest, para poder realizar las consultas y actualizaciones respectivas de nuestros clientes y proveedores que se almacenarán en la tabla persona pero que se diferenciarán por el campo tipo de persona. Implementaremos después nuestro controlador ClienteController ya que si será necesario tener un controlador tanto para las funciones respectivas del cliente y otro para las funciones de los proveedores.
Paquete Premium:
45 Videos (Curso completo)
Código fuente del sistema completo, con las funcionalidades terminadas y mejoradas.
http://www.incanatoit.com/2016/11/codigo-sistema-compras-ventas-laravel-mysql-jquery-bootstrap.html
Paquete Gratuito:
35 Videos
Código fuente del sistema desarrollado en el curso.
Puedes revisar todo el curso gratuito en mi canal de youtube www.youtube.com/jcarlosad7 desde:
https://www.youtube.com/watch?v=Zj0pshSSlEo&index=2&list=PLZPrWDz1MolrxS1uw-u7PrnK66DCFmhDR
Puedes descargar todos los recursos del curso gratuito (Base de datos, Plantilla, Sistema completo, ) del siguiente enlace:
https://drive.google.com/open?id=1NOhkw5zSCXIgAkc3Cn6AYviARCm3HKVd
Puedes ver el código inicial en github en la siguiente dirección:
https://github.com/jcarlosad7/crudLaravelTutorial
https://laravel.com/docs/5.2
Modelo Persona
Para implementar el modelo desde la interfaz de línea de comandos de artisan ingresamos lo siguiente:
php artisan make:model Persona
Código fuente del Modelo Persona.php
namespace sisVentas; use Illuminate\Database\Eloquent\Model; class Persona extends Model { protected $table='persona'; protected $primaryKey='idpersona'; public $timestamps=false; protected $fillable =[ 'tipo_persona', 'nombre', 'tipo_documento', 'num_documento', 'direccion', 'telefono', 'email' ]; protected $guarded =[ ]; }
Request Persona
Para implementar el request desde la interfaz de línea de comandos de artisan ingresamos lo siguiente:
php artisan make:request PersonaFormRequest
Código fuente del Request PersonaFormRequest.php
namespace sisVentas\Http\Requests;
use sisVentas\Http\Requests\Request;
class PersonaFormRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'nombre'=>'required|max:100',
'tipo_documento'=>'required|max:20',
'num_documento'=>'required|max:15',
'direccion'=>'max:70',
'telefono'=>'max:15',
'email'=>'max:50'
];
}
}
Controlador Cliente
Para implementar nuestro controlador utilizamos el siguiente comando en la interfaz de PHP artisan:
php artisan make:controller ClienteController
Código fuente del Controlador: ClienteController.php
namespace sisVentas\Http\Controllers;
use Illuminate\Http\Request;
use sisVentas\Http\Requests;
use sisVentas\Persona;
use Illuminate\Support\Facades\Redirect;
use sisVentas\Http\Requests\PersonaFormRequest;
use DB;
class ClienteController extends Controller
{
public function __construct()
{
}
public function index(Request $request)
{
if ($request)
{
$query=trim($request->get('searchText'));
$personas=DB::table('persona')
->where('nombre','LIKE','%'.$query.'%')
->where ('tipo_persona','=','Cliente')
->orwhere('num_documento','LIKE','%'.$query.'%')
->where ('tipo_persona','=','Cliente')
->orderBy('idpersona','desc')
->paginate(7);
return view('ventas.cliente.index',["personas"=>$personas,"searchText"=>$query]);
}
}
public function create()
{
return view("ventas.cliente.create");
}
public function store (PersonaFormRequest $request)
{
$persona=new Persona;
$persona->tipo_persona='Cliente';
$persona->nombre=$request->get('nombre');
$persona->tipo_documento=$request->get('tipo_documento');
$persona->num_documento=$request->get('num_documento');
$persona->direccion=$request->get('direccion');
$persona->telefono=$request->get('telefono');
$persona->email=$request->get('email');
$persona->save();
return Redirect::to('ventas/cliente');
}
public function show($id)
{
return view("ventas.cliente.show",["persona"=>Persona::findOrFail($id)]);
}
public function edit($id)
{
return view("ventas.cliente.edit",["persona"=>Persona::findOrFail($id)]);
}
public function update(PersonaFormRequest $request,$id)
{
$persona=Persona::findOrFail($id);
$persona->nombre=$request->get('nombre');
$persona->tipo_documento=$request->get('tipo_documento');
$persona->num_documento=$request->get('num_documento');
$persona->direccion=$request->get('direccion');
$persona->telefono=$request->get('telefono');
$persona->email=$request->get('email');
$persona->update();
return Redirect::to('ventas/cliente');
}
public function destroy($id)
{
$persona=Persona::findOrFail($id);
$persona->tipo_persona='Inactivo';
$persona->update();
return Redirect::to('ventas/cliente');
}
}
Video 14: Sistema web PHP con laravel y Mysql (14-36) Cliente: Modelo, request, controlador
Saludos imperio, un abrazo a la distancia!
Diseño Sistema web PHP con laravel y Mysql (14-36) Modelo y Request Persona
Reviewed by IncanatoIt-ad
on
16:41
Rating:
Muy buenos tus cursos Juan Carlos. Se aprende muy bien con ellos. En mi caso soy bien principiante en programación php, vi tus cursos y me parecen fantásticos. Gracias por compartir experiencia y conocimientos.
ResponderEliminar