【发布时间】:2014-03-04 07:40:34
【问题描述】:
所以我有三个模型,当其中一个 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();
}
}
?>
我已经和这个摔跤了两天了!非常感谢您抽出宝贵时间查看此内容。
【问题讨论】:
标签: php model laravel-4 foreign-keys