114 lines
2.7 KiB
PHP
114 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Pertanian;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
use App\Models\Wilayah\DesaKelurahan;
|
|
use App\Models\Pertanian\Tanaman;
|
|
use App\Models\Profile;
|
|
use App\Models\Pertanian\Adat;
|
|
use App\Enums\StatusLahan;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
use App\Models\Pertanian\Komoditas;
|
|
use App\Models\Master\JenisKomoditas;
|
|
use App\Models\Master\Varietas;
|
|
use App\Enums\KondisiTanaman;
|
|
use App\Enums\SeranganHama;
|
|
use App\Enums\PenyakitTanaman;
|
|
use App\Enums\KeparahanSerangan;
|
|
|
|
class Lahan extends Model
|
|
{
|
|
use SoftDeletes;
|
|
|
|
protected $table = 'map_lahan';
|
|
|
|
protected $fillable = [
|
|
'uid',
|
|
'nama',
|
|
'status_kepemilikan',
|
|
'profile_id',
|
|
'keluarga_pengelola_id',
|
|
'adat_pemilik_id',
|
|
'desa_kelurahan_id',
|
|
'path',
|
|
'luas_lahan',
|
|
'komoditas_id',
|
|
'jenis_komoditas_id',
|
|
'varietas_id',
|
|
'jumlah_tanaman',
|
|
'petani_id',
|
|
|
|
'kondisi_tanaman',
|
|
'serangan_hama',
|
|
'penyakit_tanaman',
|
|
'keparahan_serangan',
|
|
|
|
'umur_tanaman',
|
|
'umur_lahan',
|
|
|
|
'created_by',
|
|
'updated_by',
|
|
'deleted_by',
|
|
|
|
'komoditas_lain',
|
|
'tanaman_penaung',
|
|
|
|
'foto'
|
|
];
|
|
|
|
protected $casts = [
|
|
'status_kepemilikan' => StatusLahan::class,
|
|
'path' => 'array',
|
|
'komoditas_lain' => 'array',
|
|
'tanaman_penaung' => 'array',
|
|
'kondisi_tanaman' => KondisiTanaman::class,
|
|
'serangan_hama' => SeranganHama::class,
|
|
'penyakit_tanaman' => PenyakitTanaman::class,
|
|
'keparahan_serangan' => KeparahanSerangan::class,
|
|
'foto' => 'array'
|
|
];
|
|
|
|
public function profile(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Profile::class, 'profile_id');
|
|
}
|
|
|
|
public function desaKelurahan(): BelongsTo
|
|
{
|
|
return $this->belongsTo(DesaKelurahan::class, 'desa_kelurahan_id');
|
|
}
|
|
|
|
public function adat(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Adat::class, 'adat_pemilik_id');
|
|
}
|
|
|
|
public function tanaman(): HasMany
|
|
{
|
|
return $this->hasMany(Tanaman::class, 'lahan_id');
|
|
}
|
|
|
|
public function petani(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Profile::class, 'petani_id');
|
|
}
|
|
|
|
public function komoditas(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Komoditas::class, 'komoditas_id');
|
|
}
|
|
|
|
public function jenisKomoditas(): BelongsTo
|
|
{
|
|
return $this->belongsTo(JenisKomoditas::class, 'jenis_komoditas_id');
|
|
}
|
|
|
|
public function varietas(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Varietas::class, 'varietas_id');
|
|
}
|
|
}
|