显示来自另一个 table Laravel 8 的用户名
Display user name from another table Laravel 8
大家好,
所以我有 2 tables
- 是列表
- 是用户
在列表中我有一些列,一个是 user_id,与用户 table 相关。
我想显示与用户 table 相关的用户名。
在索引 blade 中,我使用了一些标签。
但是当我使用 ->rightjoin("users", "users.id", "=", "listings.user_id")
时,它是有效的,但是,
加入破坏了我的标签,使它们成为默认标签,与其他帖子相同。
public function index(Request $request)
{
$listings = Listing::where('is_active', true)->with('tags')
//->rightjoin("users", "users.id", "=", "listings.user_id") //don't show tags of the posts
->orderBy('listings.created_at', 'desc')
->get();
//check if posts ar listing by last date or something
$tags = Tag::orderBy('name') // variable displayed in view
->get();
您可以像这样使用 with
方法获取相关的 user
public function index(Request $request) {
$listings = Listing::where('is_active', true)->with(['user', 'tags'])
->orderBy('listings.created_at', 'desc')
->get();
}
但请确保将正确的关系添加到 Listing
模型中,如下所示
上市模式
public function user() {
return $this->belongsTo(User::class);
}
我推荐这个控制器代码:
public function index(Request $request) {
return $listings = Listing::query()
->where('is_active', true)->with(['user', 'tags'])
->orderBy('listings.created_at', 'desc')
->get();
}
在模型部分,我建议您输入以下代码:
public function user() {
return $this->belongsTo(User::class);
}
我建议你填写字段foreignKey, ownerkey in relation: 如下例:
public function user()
{
return $this->belongsTo(User::class, 'user_id', 'id');
}
大家好, 所以我有 2 tables
- 是列表
- 是用户
在列表中我有一些列,一个是 user_id,与用户 table 相关。
我想显示与用户 table 相关的用户名。
在索引 blade 中,我使用了一些标签。
但是当我使用 ->rightjoin("users", "users.id", "=", "listings.user_id")
时,它是有效的,但是,
加入破坏了我的标签,使它们成为默认标签,与其他帖子相同。
public function index(Request $request)
{
$listings = Listing::where('is_active', true)->with('tags')
//->rightjoin("users", "users.id", "=", "listings.user_id") //don't show tags of the posts
->orderBy('listings.created_at', 'desc')
->get();
//check if posts ar listing by last date or something
$tags = Tag::orderBy('name') // variable displayed in view
->get();
您可以像这样使用 with
方法获取相关的 user
public function index(Request $request) {
$listings = Listing::where('is_active', true)->with(['user', 'tags'])
->orderBy('listings.created_at', 'desc')
->get();
}
但请确保将正确的关系添加到 Listing
模型中,如下所示
上市模式
public function user() {
return $this->belongsTo(User::class);
}
我推荐这个控制器代码:
public function index(Request $request) {
return $listings = Listing::query()
->where('is_active', true)->with(['user', 'tags'])
->orderBy('listings.created_at', 'desc')
->get();
}
在模型部分,我建议您输入以下代码:
public function user() {
return $this->belongsTo(User::class);
}
我建议你填写字段foreignKey, ownerkey in relation: 如下例:
public function user()
{
return $this->belongsTo(User::class, 'user_id', 'id');
}