Laravel属于关系获取属性问题

问题描述 投票:0回答:1

我具有所属关系:

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" => "[email protected]"
    "created_at" => "2020-04-24 15:53:31"
    "updated_at" => "2020-04-24 15:53:31"
  ]
  "yetkili_adi" => "1"
]

但是当我尝试获取该属性时,它显示为空。

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

结果:

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

]
laravel laravel-6 laravel-query-builder
1个回答
0
投票

首先您要这样更改raname

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

执行此命令后

composer dump-autoload

然后第一次检查php artisan tinker;关系正确吗?

希望对您有帮助

© www.soinside.com 2019 - 2024. All rights reserved.