php - 尝试使用 user_id Laravel 从用户模型中获取用户名
问题描述
当我尝试使用反馈模型的外键 ( ) 获取用户名 ( )时,我收到一个错误未定义变量。$user->name
User model
id
$feedback->user_id
@php
use App\Feedback;
use App\User;
$feedbacks = Feedback::all();
@endphp
<!DOCTYPE html>
<html>
<body>
<a href="/admin">ADMIN DASHBOARD</a> |<a href="{{ url('/logout') }}"> LOGOUT</a><br><br>
<h3>Feedbacks</h3>
<table border="1">
<tr><th>ID</th><th>Left By</th><th>Feedback</th></tr>
@foreach ($feedbacks as $feedback)
<tr>
<td>{{ $feedback->id}}</td>
<td>{{ $user->name }}</td>
<td>{{ $feedback->feedback }}</td>
</tr>
$uid=$feedback->user_id;
$user= User::find($uid);
@endforeach
</table>
</body>
</html>
解决方案
我建议在和之间建立一种关系(如果你还没有)。您的关系将被放入模型中,如下所示:feedback
user
Feedback
// Feedback.php
public function user() {
return $this->belongsTo('App\User');
}
这将与在桌子上feedback
的user
使用user_id
有关。feedback
在此之后,当在您的控制器中调用时feedback
,您可以急切地加载user
与 each的关系feedback
。这可以在以下范围内完成:
$feedbacks = Feedback::with('user')->get();
最后,在您的模板中,您将能够通过执行以下操作来调用user
每个:feedback
{{ $feedback->user->name }}
注意:此示例假设您的表格name
中有一个字段。user
推荐阅读
- javascript - 如何通过代码在原始(导入)html上绑定事件?
- angular - .zip() 与 Observable.zip() 有什么区别(rxjs ^5.5.6)
- c++ - 如何在 C++ GRPC 客户端中创建到一个特定地址的多个连接
- bootstrap-modal - Bootstrap vue 从模态主体中删除填充
- python - 如何访问我在系统属性下的环境变量中设置的变量值?
- python - 使用 python 将嵌套的 BigQuery 数据导出到云存储
- reporting-services - 详细信息:无法加载文件或程序集 'BarcodeLib,版本 = 1.0.0.19 或其依赖项之一
- regex - 如何在 pgsql regexp_replace 中进行积极的工作?
- visual-studio-code - 在代码的最后一行添加一个空行 - clang-format
- c++ - 如何在 OpenCV 中获得扩展或收缩的轮廓?