gpt4 book ai didi

php - 如何在我的查询中从特定提供商的一位用户检索多个问题?

转载 作者:行者123 更新时间:2023-11-29 10:22:44 26 4
gpt4 key购买 nike

我在检索一个用户(服务提供商)的逻辑上有点卡住,该用户的个人资料上有许多其他用户(在本例中为客户)的评论。

因此,我想要检索的是服务提供商以及不同客户提出的所有问题以及有关该问题所属的每个客户的附加信息。

所以我现在的关系是一个用户(一个客户)有很多问题:

class User extends Authenticatable {
use Notifiable;
protected $table = 'na_user';

public function questions()
{
return $this->hasMany(Question::class, 'provider_id'); // provider_id = ID of service provider
}
}

每个问题都属于特定用户(客户):

class Question extends Model
{
protected $table = 'na_question';

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

我的查询如下所示:

$user = User::select('na_user.id', 'na_user.first_name', 'na_user.last_name') 
->with('questions')
->where( [
[ 'na_user_more_info.user_id', $id ], // ID of service provider
[ 'na_user.user_role', 2 ] // user_role of service provider
] )->firstOrFail();

我从此查询中检索到的是向该特定服务提供商提出的所有问题,但我无法检索已发布问题的客户及其信息以及查询,我该如何执行此操作?

最佳答案

要加载多个关系,您可以执行以下操作:

User::with(['questions' => function ($query) {
$query->with('question');
}])->get();

您确实应该从 Question 模型重命名 question 关系

关于php - 如何在我的查询中从特定提供商的一位用户检索多个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48934414/

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