我在我的应用程序中使用Laravel 5.6和mysql。我是Laravel的新手我有以下表格作为车辆,
id name number user_id
1 car 123 1
2 van 258 2
3 lorry 125 5
4 car 896 7
和这样的用户表,
id name email
1 hyu agt@mail.com
2 opv yyuj@mail.com
3 kio juik@mail.com
4 lop kiuf@mail.com
5 hyg htgd@mail.com
现在我需要在刀片文件中使用上面的车辆表user_id打印电子邮件,该怎么办? 修改 我有以下刀片文件来打印车辆表,
{{$vehicle->name}}
{{$vehicle->number}}
修改 我的车辆控制器,
public function show($id)
{
$vehicles = Vehicle::find($id);
return view('vehicles.show')->withVehicles($vehicles);
}
并显示刀片文件,
<div class="col-md-5" id="vl">
<div><label >Brand:</label>{{$vehicles->name}}</div>
<br>
<div><label >Model:</label>{{$vehicles->number}}</div>
<br>
答案 0 :(得分:1)
如果您的Vehicle
模型上具有如下所示的关系:
public function user()
{
return $this->belongsTo(User::class);
}
您只需访问user
属性即可获得email
:{{ $vehicle->user->email }}
为了提高性能,从数据库中获取车辆时,急于加载用户是有意义的:
$vehicles = Vehicle::with('user')->get();
答案 1 :(得分:0)
首先看一下this为表创建模型,然后可以将其加入两个表并获取用户电子邮件。
$vehicles = Vehicle::select('vehicles.name', 'vehicles.number', 'users.email')
->leftjoin('users', 'users.id', '=', 'vehicles.user_id')->get();
您也可以使用Laravel relations来实现。
答案 2 :(得分:0)
std::cout << (void*)foo;
尝试上面的代码。 这是SQL连接的概念。 供您参考https://laravel.com/docs/5.7/queries#joins