gpt4 book ai didi

Laravel 使用各自的 ID 显示 created_by 和 edited_by 名称

转载 作者:行者123 更新时间:2023-12-05 08:32:14 26 4
gpt4 key购买 nike

我有一辆 table 车。该表具有字段 - created_by 和 edited_by。每次创建或编辑车辆时,该特定用户的 ID 都会保存到此列中。在显示此表详细信息的显示 View 中,我想显示用户名而不是 ID。我在这里错过了什么或做错了什么?

我与用户关联的车型:

class Vehicle extends Model
{
public function customer(){
return $this->belongsTo('App\Customer','customer_id');
}

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

显示数据的 Controller :

 public function show($id)
{
$vehicle = Vehicle::find($id);
$files = File::where('vehicle_id',$id);
return view('vehicles.show')->with('vehicle',$vehicle)
->with('files',$files);
}

查看

<tr>
<th>Created By</th>
<td>{{$vehicle->user->name}}</td>
</tr>
<tr>
<th>Last Edited By</th>
<td>{{$vehicle->user->name}}</td>
</tr>

我放置 hasmany 关系的用户模型:

class User extends Authenticatable
{
public function vehicles(){
return $this->hasMany('App\Vehicle');
}
}

使用 hasmany 我可以显示 created_by 或 edited_by 名称。如何同时显示 created_by 和 edited_by 名称?

最佳答案

您当前在车辆模型上的关系与编辑器相符。为了为创建者实现同样的效果,您可以创建另一个与用户模型的关系并将其传递给 created_by

class Vehicle extends Model
{
public function customer(){
return $this->belongsTo('App\Customer','customer_id');
}

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

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

并且在您的 View 中,您可以使用 $vehicle->creator->name$vehicle->editor->name 显示名称

关于Laravel 使用各自的 ID 显示 created_by 和 edited_by 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52659646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com