Таким образом, у меня есть три модели, и когда один из них dAgency
удаляется delete-()
мне бы хотелось, чтобы все три были удалены. Проблема в том, что два из них удаляются, а верхний родительский DemDataSet
не удаляется. Кроме того, когда я звоню:
echo "<pre>", dd(dAgency::find(21)->DemographicReport()->DemDataSet()->get()), "</pre>";
Я получаю эту ошибку: Call to undefined method Illuminate\Database\Query\Builder::DemDataSet()
Но когда я пытаюсь:
echo "<pre>", dd(dAgency::find(21)->DemographicReport()->get()), "</pre>";
Оно работает. Поэтому я знаю, что проблема заключается в моей связи между моей моделью DemDataSet. Ниже приведена моя модель:
<?php class DemDataSet extends Eloquent { public $timestamps = false; protected $connection = 'epcr_dem_data'; protected $table = 'DEMDataSet'; protected $primaryKey = 'pk_DEMDataSet'; public function DemographicReport(){ return $this->hasOne('DemographicReport','fk_DEMDataSet','pk_DEMDataSet'); } } class DemographicReport extends Eloquent { public $timestamps = false; protected $connection = 'epcr_dem_data'; protected $table = 'DemographicReport'; protected $primaryKey = 'pk_DemographicReport'; public function DemDataSet (){ return $this->belongsTo('DemDataSet','fk_DEMDataSet','pk_DEMDataSet'); } public function dAgency(){ return $this->hasOne('dAgency','fk_DemographicReport','pk_DemographicReport'); } public function delete(){ parent::delete(); return $this->DemDataSet()->delete(); } } class dAgency extends Eloquent { public $timestamps = false; protected $connection = 'epcr_dem_data'; protected $table = 'dAgency'; protected $primaryKey = 'pk_dAgency'; public function DemographicReport(){ return $this->belongsTo('DemographicReport','fk_DemographicReport','pk_DemographicReport'); } public function dAgency_10(){ return $this->hasMany('dAgency_10','fk_dAgency','pk_dAgency'); } public function delete(){ parent::delete(); return $this->DemographicReport->delete(); } } ?>
Я боролся с этим уже два дня! Я очень ценю, что вы нашли время, чтобы посмотреть на это.