在 Laravel 关系中显示一对一关系的 VIEW

Display in VIEW of One to One relation in Laravel Relationship

我又来了,但我无法理解正确的做法 Laravel 人际关系

我有这个用户模型

 public function concessionaire()
{
    return $this->hasOne('App\Concessionaire', 'meternum', 'meternum');
}

和特许经营模式

 public function user()
{
    return $this->belongsTO('App\User', 'meternum', 'meternum');
}

但是当我尝试在我的视图中显示它时。特许公司数据字段不显示..

在我的控制器中我有这个

$dataUser = User::where('usertype', '=', 'concessionaire')
                ->with('concessionaire')
                ->get();
    return view('admin.concessionaire',compact('dataUser'));

在我看来

@foreach($dataUser as $User)
<td>
{{ $User->clark }}
</td>
@endforeach
function concessionaire()
 {
   return $this->hasOne( Concessionaire::class, 'user_id', 'id');
 }

现在您可以使用

访问属性
@foreach($dataUser as $User)
  <td>
    {{ $User->concessionaire->property }}
 </td>
@endforeach

希望对您有所帮助

首先请检查关联函数实现中的外键和本地键是否正确。在那之后尝试像

这样的数据
dd($dataUser )

并检查用户模型的关系属性是否实际包含关系模型,如果它不为空,您可以访问 属性 like

$User->concessionaire->property

如果关系属性显示为空,那么您可能在关系实现函数中放置了不正确的本地键或外键。

你应该关注

$this->hasOne(Relation::class, 'foreign key in related model', 'local key')