我只想让wef等于当前表wef的类型。如何实现这一点,我无法使用$ this-> attributes ['wef']获取wef属性。预先感谢。
class Gst extends Model
{
//
use Traits\UserAutoUpdate;
protected $connection = 'mysql';
protected $table = "gst";
protected $fillable = ['name','wef'];
public function types(){
return $this->hasMany(GstType::class,'gst_id','id')->where('wef', $this->attributes['wef']);
}
}
错误: “未定义索引:wef”
答案 0 :(得分:2)
您需要一个函数来定义GstType和Gst之间的关系:
public function gstTypes()
{
return $builder->hasMany(GstType::class,'gst_id','id');
}
然后创建一个范围函数:
public function scopeTypes($builder){
return $builder->whereHas('gstTypes', function ($query) {
$query->where('wef', $this->getAttribute('wef'));
});
}
并像这样使用它:
$types = GstType::types();