Выберите записи, которые не существуют в реляционной таблице в laravel - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь вернуть все заявки, у которых нет строк в таблице назначений + все записи с одинаковым идентификатором пользователя.но ошибка продолжает появляться.Вероятно, из-за моей новизны в 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, однако добавление условия отсутствия строк, похоже, является проблемой, и я не уверен, правильно ли я к нему подхожу.

1 Ответ

0 голосов
/ 07 октября 2018

Я думаю, вы имеете в виду это:

$tickets = Ticket::with('AssignedUsers')
    ->whereHas('AssignedUsers', function($q) {
        $q->where('assigns.user_id', '=', Auth::user()->id);
    })
    ->orDoesntHave('AssignedUsers')
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...