поиск в сводной таблице в форме столбца - PullRequest
0 голосов
/ 25 марта 2019

У меня есть 3 модели, например: Модель-1, Модель-2, Модель-3.

Модель-2 и Модель-3 имеют отношения многие ко многим, поэтому я держу одну сводную таблицу, как Модель-2_Model-3.

Модель-1 имеет одно отношение с моделью-2, и я перечисляю все данные из модели-1,

Мне нужно найти один столбец из сводной таблицыдля листинга Model-1.

Например:

$data = Model-1::with('Model-2')->get();

Мне нужно выполнить поиск Model-1, используя сводную таблицу (Model-2_Model-3).

Я возвращаюськод подключения сводной уже.Pivot работает очень хорошо.

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Вы можете запросить сводную таблицу с помощью wherePivot()

Model-1::with('Model-2')->wherePivot('field_name', $value)->get();

Если значения разворота не добавляются, необходимо добавить его как withPivot('field_name')

0 голосов
/ 25 марта 2019

Возможно, вы захотите использовать contains, так как для многих со многими вы получите коллекцию второй модели, например, $user->roles, поэтому здесь вы можете проверить, если $user->roles->contains('field_name'). а также $user->roles()->wherePivot('role_id', 1)->get()->isEmpty() или $user->roles()->wherePivot('role_id', 1)->get() в зависимости от ваших требований.

...