Traer el id de otra tabla
Publicado por Mariano (2 intervenciones) el 27/08/2018 17:10:44
Tengo dos tablas: equipos y servicios. También hice un CRUD por cada tabla (con modelo, ruta, controlador).
Intento traer el id de equipos a la pantalla servicios/create.blade.php, ya que a un equipo creado quiero asignarle un servicio (relación uno a muchos).
Los pasos son: Creo el equipo (create), lo muestro (index), paso directamente desde la pantalla equipo/index.php la pantalla servicio/create.php.blade El equipo lo crea bien. Relación: equipo->id = servicios->equipo_id.
Paso los códigos. Muchas gracias por ayudarme!
CONTROLADOR equipo:
CONTROLADOR servicio:
MODELO equipo:
MODELO servicio:
PANTALLA servcio/create.blade.php
Intento traer el id de equipos a la pantalla servicios/create.blade.php, ya que a un equipo creado quiero asignarle un servicio (relación uno a muchos).
Los pasos son: Creo el equipo (create), lo muestro (index), paso directamente desde la pantalla equipo/index.php la pantalla servicio/create.php.blade El equipo lo crea bien. Relación: equipo->id = servicios->equipo_id.
Paso los códigos. Muchas gracias por ayudarme!
CONTROLADOR equipo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class EquiposController extends Controller
{
public function index(Request $request)
{
$equipos=Equipo::Search($request->id)->orderBy('id','DESC')->paginate(10);
$equipos->each(function($equipos){
$equipos->id;
});
return view('Equipo.index')
->with('equipos', $equipos);
}
public function create()
{
return view('Equipo.create');
}
public function store(Request $request)
{
$equipo = new Equipo;
$equipo->serie_equipo_anterior = $request->serie_equipo_anterior;
$equipo->fecha_alta = $request->fecha_alta;
$equipo->tipo = $request->tipo;
$equipo->marca = $request->marca;
$equipo->personal_dip = $request->personal_dip;
$equipo->observacion = $request->observacion;
$equipo->estado_equipo = $request->estado_equipo;
$equipo->save();
// Redirect to Another Page
return redirect()->route('equipo.index', $equipo->id);
}
CONTROLADOR servicio:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class ServiciosController extends Controller
{
public function index(Request $request)
{
$servicios=Servicio::Search($request->equipo_id)->orderBy('id','DESC')->paginate(10);
$servicios->each(function($servicios){
$servicios->id;
});
return view('Servicio.index')
->with('servicios', $servicios);
}
public function create()
{
$equipos=DB::table('equipos')->get();
return view('Servicio.create', ['equipos'=>$equipos]);
}
public function store(Request $request)
{
$servicio = new Servicio;
$servicio->equipo_id = $request->get('equipo_id');
$servicio->fecha_ingreso = $request->get('fecha_ingreso');
$servicio->unidad_destino = $request->get('unidad_destino');
$servicio->subunidad_destino = $request->get('subunidad_destino');
$servicio->personal_entrega = $request->get('personal_entrega');
$servicio->telefono = $request->get('telefono');
$servicio->personal_div_servicio = $request->get('personal_div_servicio');
$servicio->accesorios = $request->get('accesorios');
$servicio->motivo_ingreso = $request->get('motivo_ingreso');
$servicio->detalle_reparacion = $request->get('detalle_reparacion');
$servicio->fecha_devolucion = $request->get('fecha_devolucion');
$servicio->personal_retira = $request->get('personal_retira');
$servicio->observacion_retira = $request->get('observacion_retira');
$servicio->estado_servicio = $request->get('estado_servicio')
$servicio->save();
// Redirect to Another Page
return redirect()->route('servicio.index', $servicio->id);
}
MODELO equipo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Equipo extends Model
{
protected $table = 'equipos';
public $timestamps = false;
protected $fillable = ['serie_equipo_anterior',
'fecha_alta',
'tipo',
'marca',
'personal_dip',
'observacion',
'estado_equipo'
];
public function scopeSearch($query, $id)
{
return $query->where('id', 'LIKE', "%$id%");
}
public function aservicio()
{
return $this->hasMany('\App\Servicio', 'id');
}
}
MODELO servicio:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Servicio extends Model
{
protected $table = 'servicios';
public $timestamps = false;
protected $fillable = ['equipo_id',
'fecha_ingreso',
'unidad_destino',
'subunidad_destino',
'personal_entrega',
'telefono',
'personal_div_servicio',
'accesorios',
'motivo_ingreso',
'detalle_reparacion',
'fecha_devolucion',
'personal_retira',
'observacion_retira',
'estado_servicio'
];
public function scopeSearch($query, $equipo_id)
{
return $query->where('equipo_id', 'LIKE', "%$equipo_id%");
}
public function aequipo()
{
return $this->belongsTo('App\Equipo', 'equipo_id');
}
}
PANTALLA servcio/create.blade.php
1
2
3
4
5
6
7
8
<!--equipo_id-->
<th class="text-left">
<select class="form-control" name="equipo_id" id="equipo_id" >
@foreach ($equipos as $equipo)
<option value="{{$equipo->id}}">{{$equipo->tipo}}</option>
@endforeach
</select>
</th>
Valora esta pregunta
0