作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在检索一个用户(服务提供商)的逻辑上有点卡住,该用户的个人资料上有许多其他用户(在本例中为客户)的评论。
因此,我想要检索的是服务提供商以及不同客户提出的所有问题以及有关该问题所属的每个客户的附加信息。
所以我现在的关系是一个用户(一个客户)有很多问题:
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/
我是一名优秀的程序员,十分优秀!