如何使用Laravel5.6中的车辆用户id打印用户电子邮件

aiazj4mn  于 2021-06-18  发布在  Mysql
关注(0)|答案(3)|浏览(299)

我正在我的应用程序中使用laravel5.6和mysql。我是新来的。我有下表作为车辆,

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

现在我需要打印电子邮件使用上面的车辆表用户在我的刀片文件的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>
iovurdzv

iovurdzv1#

$userEmails= DB::table('vehicles')
            ->join('contacts', 'user.id', '=', 'vehicles.user_id')
            ->select('users.email')
            ->get();

试试上面的代码。这是sql连接概念。供参考https://laravel.com/docs/5.7/queries#joins

w9apscun

w9apscun2#

首先看一下这个为表创建模型,然后您可以为两个表连接它并获得用户电子邮件。

$vehicles = Vehicle::select('vehicles.name', 'vehicles.number', 'users.email')
        ->leftjoin('users', 'users.id', '=', 'vehicles.user_id')->get();

也可以使用laravel关系来实现这一点。

4ktjp1zp

4ktjp1zp3#

如果你在家里有关系 Vehicle 模型如下所示:

public function user()
{
    return $this->belongsTo(User::class);
}

您只需访问 user 属性以获取 email : {{ $vehicle->user->email }} 为了提高性能,当您从数据库中获取车辆时,最好立即加载用户:

$vehicles = Vehicle::with('user')->get();

相关问题