Igor
K
поясните плз как работает createOrupdate или как заюзать createMany вместе с on duplicate key ignore. Необходимо создавать, если нет записи, либо обновлять им updated_at либо игнорить на карйняк ?
Сергей
Oleh
Oleh
Oleh
Могу ошибаться конечно
Oleh
Но вроде бы да
Oleh
Загляни в этот метод
Айбек
K
благодарю
Igor
Сергей
Сергей
А то есть если я иду по списку комментариев и вызываю $comment->Post->Author у меня не происходит ннскольких запросов к таблице Post?
Igor
ну в случае find идут несколько запросов на итерацию цикла
а в случае отношений можно их загрузить жадной загрузкой
Igor
https://laravel.com/docs/5.6/eloquent-relationships#eager-loading
https://laracasts.com/search?q=eager+loading
Сергей
Anonymous
Подскажите, как можно взять сущность с 3 связанными сущностями.. То есть допустим 10 постов и взять 3 комента для каждого поста
Vladimir
Post::with(‘comments’ => function($q){$q->take(3);})->paginate(10)
Anonymous
Айбек
лимит для связей не работает
Vladimir
Paginate(10) это 10 постов
Anonymous
Anonymous
Paginate(10) это 10 постов
при чем здесь 10 постов? надо 3 комента для каждого поста взять, этот же вариант берет 3 комента всего
Anonymous
select * from `comments` where `comments`.`post_id` in ('4', '5', '50') limit 3
Anonymous
то есть такой запрос делает
Anonymous
а в бд это вообще реально 1 запросом сделать?
Vladimir
Ну замени пагинайт на гет получишь все посты с тремя комментами в каждом
Anonymous
Anonymous
мне нахрен не нужно лимит постов делать, я же тебе говорю, что этот запрос делает 3 комента для всех постов
Anonymous
не для каждого
Anonymous
https://stackoverflow.com/questions/43097559/laravel-eloquent-limit-results-for-relationship
Anonymous
Нашел только такой бредовый вариант, если записей много он не катит
Vladimir
счас проверю свой вариант
Anonymous
Anonymous
Я так понимаю в цикле херачить и кэшировать придется
Anonymous
Для каждого поста
Vladimir
прервали сейчас возвращаюсь, не ту таблицу выбрал там многие ко многим бфли
Anonymous
https://www.reddit.com/r/laravel/comments/33ebck/limiting_eager_loading/
Anonymous
Да вот тема по этой задачке
Vladimir
ага сработало как только для первой ну сзначит попробую в модели пошелудить
Vladimir
ну да она второй запрос преобразует в бред select * from articles where articles.name_id in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) limit 2
Владимир
Народ, разбирается кто в nginx?
Сейчас он определяет что нужно дергать файл через пхп фпм так - location ~ \.php$
Как мне написать, что нужно дергать все файлы .php , но не по урлу /media?
Anonymous
Maksim (Ellrion)
Ну не единственное. У тебя бд какая?
Anonymous
Anonymous
а на какой это можно сделать нормально
K
никак не пойму как updateOrCreate может возвращать ERROR: duplicate key value violates unique constraint если он и должен с этим бороться
dmi
dmi
такое же
Maksim (Ellrion)
Можешь взять залоадить только id связанных записей. Это изи. Потом пройти по ним взяв только не более трёх и уже залоадить жаднолениво с условием на whereKeys
Телодвижений много но эффективнее чем цыкл и кэш
Anonymous
K
такое же
и как быть?) составной праймери?
Maksim (Ellrion)
Anonymous
Maksim (Ellrion)
Ща до компа доберусь кину пример.
Anonymous
айдишники
Maksim (Ellrion)
Да, только их ид
Maksim (Ellrion)
Для 10 постов? Ты льстишь своей системе)
dmi
Maksim (Ellrion)
Anonymous
Anonymous
dmi
dmi
ой, Николаю хотел ответить 🙂
Maksim (Ellrion)
Anonymous
Просто интересно что в таких случаях делать если не в цикле запросы херачить
dmi
блин, я честно говоря ток присоеденился к разговору)) и не читал с чгео вы начали )
Anonymous
Ребята подскажите мне, как изменить версию php в kali?
Anonymous