Vehiculo.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace v1\models;
  3. use app\models\Color;
  4. use app\models\Vehiculo as ModeloVehiculo;
  5. use app\models\Marca;
  6. use app\models\TipoAuto;
  7. class Vehiculo extends ModeloVehiculo {
  8. public function fields() {
  9. return [
  10. 'id',
  11. 'nombre',
  12. 'ano',
  13. 'idColor',
  14. 'idTipo',
  15. 'idMarca',
  16. 'placa',
  17. 'serie',
  18. 'creado',
  19. 'descripcion',
  20. 'modificado',
  21. ];
  22. }
  23. public function extraFields() {
  24. return [
  25. 'marca',
  26. 'color',
  27. 'tipo',
  28. 'media',
  29. 'mediaVehiculo',
  30. ];
  31. }
  32. public function getMarca() {
  33. return $this->hasOne(Marca::class, ['id' => 'idMarca']);
  34. }
  35. public function getTipo() {
  36. return $this->hasOne(TipoAuto::class, ['id' => 'idTipo']);
  37. }
  38. public function getColor() {
  39. return $this->hasOne(Color::class, ['id' => 'idColor']);
  40. }
  41. public function getMediaVehiculo() {
  42. return $this->hasMany(MediaVehiculo::class, ['idVehiculo' => 'id']);
  43. }
  44. public function getServicio() {
  45. return $this->hasMany(Servicio::class, ['idVehiculo' => 'id']);
  46. }
  47. public function getMedia() {
  48. return $this->hasMany(Media::class, ['idMedia' => 'id'])
  49. ->viaTable('MediaVehiculo', ['idVehiculo' => 'idVehiculo']);
  50. }
  51. }