gpt4 book ai didi

php - 试图从 laravel 中 Eloquent 产品评论中获取评论者的姓名

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

Product.php

public function reviews(){
return $this->hasMany(Review::class);
}

Review.php

public function product(){
return $this->belongsTo(Product::class);
}

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

User.php

public function reviews(){
return $this->hasMany(Review::class);
}

在 Controller 中

$product = Product::where('slug', $request->slug)->with('category')->with('reviews.user')->first();

在 Blade 中

{{$review->user->name}}

现在在 blade 中它返回 null。

提到评论表有 product_id, reviewed_by

现在,我如何从这个关系模型中获取评论者姓名?请帮我解决这个问题。

最佳答案

如果你有不同于 laravel 默认字母顺序的外键,你需要在 hasMany 和 belongsTo 关系上指定外键

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

//In User Model
public function reviews()
{
return $this->hasMany(Review::class,'reviewed_by');
}

//In Product Model
public function reviews()
{
return $this->hasMany(Review::class,'product_id');
}

关于php - 试图从 laravel 中 Eloquent 产品评论中获取评论者的姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62782953/

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