Vehiculo.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. namespace app\models;
  3. use Yii;
  4. /**
  5. * This is the model class for table "Vehiculo".
  6. *
  7. * @property string $id
  8. * @property string|null $nombre
  9. * @property int|null $ano
  10. * @property string|null $idColor
  11. * @property string|null $placa
  12. * @property string|null $serie
  13. * @property string|null $creado
  14. * @property string|null $modificado
  15. * @property string|null $eliminado
  16. * @property string|null $idTipo
  17. * @property string|null $idMarca
  18. * @property string|null $descripcion
  19. *
  20. * @property Marca $idMarca
  21. * @property TipoAuto $idTipo
  22. * @property MediaVehiculo[] $mediaVehiculos
  23. * @property Servicio[] $servicios
  24. */
  25. class Vehiculo extends ModeloBase
  26. {
  27. /**
  28. * {@inheritdoc}
  29. */
  30. public static function tableName()
  31. {
  32. return 'Vehiculo';
  33. }
  34. /**
  35. * {@inheritdoc}
  36. */
  37. public function rules()
  38. {
  39. return [
  40. [['id'], 'required'],
  41. [['ano'], 'default', 'value' => null],
  42. [['ano'], 'integer'],
  43. [['creado', 'modificado', 'eliminado'], 'safe'],
  44. [['id','idMarca','idColor','idTipo'], 'string', 'max' => 36],
  45. [['nombre', 'placa', 'serie','descripcion'], 'string', 'max' => 100],
  46. [['id'], 'unique'],
  47. [['idMarca'], 'exist', 'skipOnError' => true, 'targetClass' => Marca::class, 'targetAttribute' => ['idMarca' => 'id']],
  48. [['idColor'], 'exist', 'skipOnError' => true, 'targetClass' => Color::class, 'targetAttribute' => ['idColor' => 'id']],
  49. [['idTipo'], 'exist', 'skipOnError' => true, 'targetClass' => TipoAuto::class, 'targetAttribute' => ['idTipo' => 'id']],
  50. ];
  51. }
  52. /**
  53. * {@inheritdoc}
  54. */
  55. public function attributeLabels()
  56. {
  57. return [
  58. 'id' => 'ID',
  59. 'nombre' => 'Nombre',
  60. 'ano' => 'Ano',
  61. 'idColor' => 'ID Color',
  62. 'placa' => 'Placa',
  63. 'serie' => 'Serie',
  64. 'creado' => 'Creado',
  65. 'idTipo' => 'ID Tipo',
  66. 'idMarca' => 'ID Marca',
  67. 'descripcion' => 'Descripcion',
  68. 'modificado' => 'Modificado',
  69. 'eliminado' => 'Eliminado',
  70. ];
  71. }
  72. public function getMarca()
  73. {
  74. return $this->hasOne(Marca::class, ['id' => 'idMarca']);
  75. }
  76. public function getTipo()
  77. {
  78. return $this->hasOne(TipoAuto::class, ['id' => 'idTipo']);
  79. }
  80. public function getMediaVehiculo()
  81. {
  82. return $this->hasMany(MediaVehiculo::class, ['idVehiculo' => 'id']);
  83. }
  84. public function getServicio()
  85. {
  86. return $this->hasMany(Servicio::class, ['idVehiculo' => 'id']);
  87. }
  88. public function getMedia() {
  89. return $this->hasMany(Media::class, ['idMedia' => 'id'])
  90. ->viaTable('MediaVehiculo', ['idVehiculo' => 'idVehiculo']);
  91. }
  92. }