尝试使用user_id Laravel从用户模型获取用户名

时间:2018-11-03 12:45:16

标签: php laravel

当我尝试使用外键$user->nameUser 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>

1 个答案:

答案 0 :(得分:1)

我建议在feedbackuser之间创建一个关系(如果您还没有)。您的关系将放入Feedback模型中,如下所示:

// Feedback.php

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

这将使用feedback表上的useruser_idfeedback关联起来。

此后,在控制器中调用feedback时,您可以迅速加载与每个user的{​​{1}}关系。这可以在以下范围内完成:

feedback

最后,在模板中,您可以通过执行以下操作来通过每个$feedbacks = Feedback::with('user')->get(); 调用user

feedback

注意:此示例假定{{ $feedback->user->name }} name表上的一个字段。