74 lines
2.1 KiB
PHP
74 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\JugadorEquipo;
|
|
use Illuminate\Http\Request;
|
|
|
|
class JugadorEquipoController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$relaciones = JugadorEquipo::with('jugador', 'equipo')->get();
|
|
return response()->json($relaciones);
|
|
}
|
|
|
|
public function show($idJugador, $idEquipo)
|
|
{
|
|
$relacion = JugadorEquipo::where('id_jugador', $idJugador)
|
|
->where('id_equipo', $idEquipo)
|
|
->with('jugador', 'equipo')
|
|
->firstOrFail();
|
|
return response()->json($relacion);
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$data = $request->validate([
|
|
'id_jugador' => 'required|string|max:6|exists:jugadores,id_jugador',
|
|
'id_equipo' => 'required|integer|exists:equipos,id_equipo',
|
|
'fecha_alta' => 'nullable|date',
|
|
]);
|
|
$relacion = JugadorEquipo::create($data);
|
|
return response()->json($relacion, 201);
|
|
}
|
|
|
|
public function update(Request $request, $idJugador, $idEquipo)
|
|
{
|
|
$relacion = JugadorEquipo::where('id_jugador', $idJugador)
|
|
->where('id_equipo', $idEquipo)
|
|
->firstOrFail();
|
|
|
|
$data = $request->validate([
|
|
'fecha_alta' => 'nullable|date',
|
|
]);
|
|
$relacion->update($data);
|
|
return response()->json($relacion);
|
|
}
|
|
|
|
public function destroy($idJugador, $idEquipo)
|
|
{
|
|
$relacion = JugadorEquipo::where('id_jugador', $idJugador)
|
|
->where('id_equipo', $idEquipo)
|
|
->firstOrFail();
|
|
$relacion->delete();
|
|
return response()->json(null, 204);
|
|
}
|
|
|
|
public function porJugador($idJugador)
|
|
{
|
|
$relaciones = JugadorEquipo::where('id_jugador', $idJugador)
|
|
->with('equipo')
|
|
->get();
|
|
return response()->json($relaciones);
|
|
}
|
|
|
|
public function porEquipo($idEquipo)
|
|
{
|
|
$relaciones = JugadorEquipo::where('id_equipo', $idEquipo)
|
|
->with('jugador')
|
|
->get();
|
|
return response()->json($relaciones);
|
|
}
|
|
}
|