拉拉韦尔·贝朗斯托关系出现财产问题



我有以下关系:

class Yetkiliservis extends Model
{
protected $table = 'yetkiliservis';
protected $guarded=[];
public function bolge(){
return $this->belongsTo(Bolgeler::class);
}
}

当我将模型转换为数组时,一切都是正确的。它显示了关系。

$yetkiliservisler = Yetkiliservis::with('bolge')->get();
dd($yetkiliservisler[0]->toArray());

结果:

array:22 [▼
"id" => 1
"vergi_no" => "1"
"yerel_adi" => "1"
"bolge" => array:6 [▼             <------------------------------------
"id" => 1
"bolge_adi" => "İSTANBUL"
"ad_soyad" => "istanbul"
"email" => "istanbul@mail.com"
"created_at" => "2020-04-24 15:53:31"
"updated_at" => "2020-04-24 15:53:31"
]
"yetkili_adi" => "1"
]

但当我试图通过该属性时,它显示为null。

$yetkiliservisler = Yetkiliservis::with('bolge')->get();
dd($yetkiliservisler[0]->getAttributes());

结果:

array:22 [▼
"id" => 1
"vergi_no" => "1"
"yerel_adi" => "1"
"bolge" => null          <--------------------------------
"yetkili_adi" => "1"
]

首先,您可以像这个一样更改raname

public function bolges(){
return $this->hasMany(Bolge::class,'yetkiliservi_id','id');
}

执行此命令后

composer dump-autoload

然后首先检查php artisan tinker;关系是否正确??

然后试试这个

$yetkiliservisler[0]->bolges;

希望对你有所帮助

最新更新