我正在尝试返回分配表中没有行的所有票证 + 具有相同用户 ID 的所有记录。但错误不断出现。可能是因为我对 Laravel 不熟悉。
关系模型
class Ticket extends Model
{
public function AssignedUsers()
{
return $this->belongsToMany(User::class, 'assigns','ticket_id','user_id')->withTimestamps();
}
}
这是代码:
$tickets = Ticket::with('AssignedUsers')
->WhereHas('AssignedUsers', function($q) {
$q->where('assigns.user_id', '=', Auth::user()->id)
->orWhere('assigns.ticket_id','!=','tickets.id');
})
->get();
到目前为止,我可以使用相同的 user_id 获取所有记录,但是添加无行条件似乎是问题所在,我不确定我是否以正确的方式接近它。
我想你的意思是:
$tickets = Ticket::with('AssignedUsers')
->whereHas('AssignedUsers', function($q) {
$q->where('assigns.user_id', '=', Auth::user()->id);
})
->orDoesntHave('AssignedUsers')
->get();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句