Ларавел получает только модели, где все отношения имеют определенную ценностьPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ларавел получает только модели, где все отношения имеют определенную ценность

Сообщение Anonymous »

У меня есть особая необходимость получить только модели, в которых все связанные модели имеют определенное значение .
Например, у меня есть модель, называемая пользователем и user имеет отношения Hasmy на модели с именем job .

Код: Выделить всё

┌────────┐          ┌───────┐
│        │   1:n    │       │
│  USER  │ ───────► │  JOB  │
│        │          │       │
└────────┘          └───────┘

, скажем, Модель задания имеет столбец с названием «Статус» , который может быть одним из следующих переводов Я хочу иметь возможность создавать метод на модели пользователя с именем scopeiflisted () . Цель сферы - фильтровать пользователей, где каждый статуса своей работы - либо JobStatus :: закрыто , либо JobStatus :: Планирован (и отныне у них нет заданий с JobStatus :: Open или JobStatus :: in_progress ). Если у них есть одна или несколько заданий, которые являются открытыми или в процессе, пользователь не имеет возможности. Br />

Код: Выделить всё

/**
* Is finished. Every single one of the users jobs are closed, they have 0 open jobs.
*
* @param Builder $query
* @return Builder
*/
public function scopeIsFinished(Builder $query): Builder
{
return $query->whereOnlyHas('jobs', function($sub){
$sub->whereIn('status', [JobStatus::CLOSED, JobStatus::SCHEDULED]);
});
}
< /code>
Кто -нибудь знает, возможно ли это, или приятный чистый простой способ, которым я могу достичь? /code>, rollowjobs 
, warededjobs и т. Д., И если область полагаться на то, где () и wheredoesnthave () .

Подробнее здесь: https://stackoverflow.com/questions/794 ... ific-value
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»