我有两张桌子:
教师和用户 我想为每位教师显示同一位老师的用户名。我知道在控制器中可以使用内连接来完成:
$users= DB::table('teachers')
->select('name')
->join('users', 'users.id', '=', 'teachers.id')
->get();
但是在刀片模板中,当我这样做时,我不知道如何为每位老师展示
<a class="ahref" href={{route('users')}}> <div class="blueDecor">
<p style="text-transform: uppercase;"> {{$teacher->name}} </p>
</div>
</a>
以及{{route(&#39; users&#39;)}}的时间:
@foreach($users as $user)
{{$ user-&gt; name}}
@endforeach
这里显示所有教师显示所有用户
例如,老师: 当我点击Theodor来展示Anna,Maria。
Theodor -----------------------&gt;用户:Anna,Maria
亚历山大----------------------&GT;用户:Sofia,Alex,Patrick
萨拉--------------------------&GT;用户:Rick,George
请帮助我:(
答案 0 :(得分:3)
您需要使用laravel关系来实现此目的 在您的情况下,它将是2个模型(用户和教师)之间的一对一关系。
请浏览以下链接 https://laravel.com/docs/5.6/eloquent-relationships#one-to-one
您需要在两个模型中定义关系。比如说你的
用户表型号名称为Users
教师表型号名称是教师
在用户
中创建一个关系public function UserTeacher()
{
return $this->hasOne("\App\Models\Teachers","id","id");
}
在教师中创建一个关系
public function TeacherUser()
{
return $this->hasOne("\App\Models\Users","id","id");
}
您可以访问以下数据
$data = Users::with('UserTeacher')->get();
将$ data变量传递给刀片文件并访问它:
{{$data->UserTeacher->name}}
我尝试根据您提供的有限数据创建示例,您可以相应地更改它。