gpt4 book ai didi

php - 如何在 Laravel 5.6 的 View 中检索 Has One 关系

转载 作者:可可西里 更新时间:2023-11-01 07:57:54 24 4
gpt4 key购买 nike

我有一个用户有很多电子邮件的关系,一个电子邮件属于一个用户。我在我的消息模型中这样定义它:

public function users() {
return $this->belongsTo('App\User','sender_id','id');
}

这是我的 Controller :

 $sender_name = Message::with('users')->get();
return view('admin.message.read',compact('message','sender_name'));

在我看来,我会做这样的事情:

 @foreach($sender_name as $sender_names)
@php(
dd($sender_name)
)
{{$sender_name->name}}
@endforeach

所以,我有两个问题:

  1. 如何检索我在 View 中定义的关系?目前,我得到一个错误,该属性在集合中不存在!!!
  2. 我需要像这样在用户模型中定义对立关系吗? :
    public function messages() {
$this->hasOne('App\Message','id','sender_id');
}

这是围绕 View 的代码:

<div class="media-body">
<h6 class="media-heading">{{$message->title}}</h6>
<!-- sender name of Email-->
<div class="letter-icon-title text-semibold">
@foreach($sender_name as $sender_names)
{{$sender_names->users->name}}
@endforeach
<!-- sender name of Email-->

<!-- sender Email-->
<a href="#">jira@diakultd.atlassian.net</a>
</div>
<!-- sender name of Email-->
</div>
<!-- body of Email-->
<table width="600" border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<td valign="middle" align="center" style="font-size: 40px; color: #ffffff; line-height: 50px; font-weight: 300;">
</td>
</tr>
</table>
<!-- /title -->

最佳答案

因为你想得到添加了这条消息的用户。因此,您要通过其模型获取消息并通过关系在其中添加用户,这就是您需要在消息模型中定义它的原因。

要在您可以使用的 View 中使用它

@foreach($sender_name as $sender_names)
{{$sender_names->users->name}}
@endforeach

研究关系 Laravel 有一个很好的文档 https://laravel.com/docs/5.7/eloquent-relationships

关于php - 如何在 Laravel 5.6 的 View 中检索 Has One 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53295252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com