Size: a a a

2021 June 30

RP

Rodion Polyakov in Laravel Pro
Требуется помощь.

select * from yarns where exists (select * from colors where yarns.id = colors.yarn_id and id = '14')

Ни чего не выведет т.к цвета с id 14 нет в базе.

select * from yarns where exists (select * from colors where yarns.id = colors.yarn_id and id = '1')

выводит все цвета, а не только цвет с id 1. Что делаю не так?

Yarn::whereHas('colors', function($query) {
   $query->where('id', '=', '1');
})
->get();

Я хочу получить пряжу и один ее цвет по id
источник

RP

Rodion Polyakov in Laravel Pro
источник

ЕП

Евгений Перин ⭐️... in Laravel Pro
Yarn::with(['colors' => function($query) {
   $query->where('id', '=', '1');
}])
->get();
источник

М

Максим in Laravel Pro
join в помощь
источник

RP

Rodion Polyakov in Laravel Pro
Работает. Не понимаю, раньше же мой вариант работал (
источник

y

yu2ry in Laravel Pro
зач?
источник

М

Максим in Laravel Pro
😐
источник

М

Максим in Laravel Pro
а как по твоему with работает?
источник

y

yu2ry in Laravel Pro
отдельный селект
источник

T0

Taco 00 in Laravel Pro
Ну прям таки с джойном под капотом
источник

y

yu2ry in Laravel Pro
это же жадная загрузка)
источник

RP

Rodion Polyakov in Laravel Pro
Объясните пожалуйста зачем тогда whereHas()?
источник

y

yu2ry in Laravel Pro
sql exists вроде там)
источник

М

Максим in Laravel Pro
Так все! Где мои джоны, Карл? Ваши where in’ы🤭
источник

y

yu2ry in Laravel Pro
не понял
источник

y

yu2ry in Laravel Pro
отдельный селект во многих случаях лучше чем join)
источник

М

Максим in Laravel Pro
можешь перечислить в каких?
источник

y

yu2ry in Laravel Pro
чтобы ты потом на собеседованиях отвечал?
источник

М

Максим in Laravel Pro
канеш
источник

y

yu2ry in Laravel Pro
а тут было такое себе) мог бы просто скзаать 'да парень ты прав, а я был не прав' =ъ
источник