These are chat archives for LaravelRUS/chat

2nd
Aug 2017
Shelomanov Dmitry
@userbq201
Aug 02 2017 07:50
привет. Есть кто тут?
KarmaBot
@KarmaBot
Aug 02 2017 07:50
Приветствую тебя, @userbq201!
Anton Vorontsov
@symbios-zi
Aug 02 2017 07:50
@userbq201 да есть есть, пиши сразу вопрос
Shelomanov Dmitry
@userbq201
Aug 02 2017 07:50
как кинуть код с подсветкой ?
сюда
Ваня Devium
@webdevium
Aug 02 2017 07:50
прочитай правила
Shelomanov Dmitry
@userbq201
Aug 02 2017 07:51
а так сказать? D
Ваня Devium
@webdevium
Aug 02 2017 07:51
всем "так говорить" можно устать и покончить жизнь самоубийством
Anton Vorontsov
@symbios-zi
Aug 02 2017 07:51
@userbq201 код обертни тремя обратными апострофами с каждой стороны
Alexander
@Dualse
Aug 02 2017 07:51
@userbq201 ты должен был их сразу прочитать
а не задавать 2 глупых вопроса
про которые сказано в правилах
Shelomanov Dmitry
@userbq201
Aug 02 2017 07:55
        $data = $this->battle
            ->with(['photo' => function($q) {
                $q->with(['likes' => function($q) {
                    $q->select('id', 'photo_id', 'user_id')
                      ->where('user_id', Auth::user() ? Auth::user()->id : 0);
                }])
                ->with(['user' => function($q) {
                    $q->select('id', 'uid', 'provider');
                }])
                ->withCount('likeCount');
            }])
            ->where([
                ['week', DateHelper::currentStep()],
                ['publish', 2]
            ])
//            ->orderBy('id', 'asc')
            ->orderBy('like_count_count', 'asc')
            ->get();
Короче - беру из таблицы батлы инфу о фотке. С лайками. И вот тут уже сортировку по лайкам не сделать?
из батла всю инфу. О фотке + юзер + лайки. И теперь я понял что запрос говно. Я не могу сортировать по лайкам
Ваня Devium
@webdevium
Aug 02 2017 07:56
@userbq201 можешь
Shelomanov Dmitry
@userbq201
Aug 02 2017 07:56
как ? хелпани
выходит же обьект батл и в нем инфа
Ваня Devium
@webdevium
Aug 02 2017 07:57
@userbq201 ты хочешь именно фотки отсортировать по лайкам?
Shelomanov Dmitry
@userbq201
Aug 02 2017 07:57
да

как угодно. Лиж бы отсортировало. Но пока не вышло. А понял. Просто типа

orderby(tableName.field)

Сработает?

Alexander
@Dualse
Aug 02 2017 07:58
@userbq201 вроде нет
Ваня Devium
@webdevium
Aug 02 2017 07:58
не не, погоди
->with(['photo' => function($q) {
    $q->with(['likes' => function($q) {
        $q->select('id', 'photo_id', 'user_id')
          ->where('user_id', (int)auth()->id());
    }])
    ->withCount('likes', function($q) {
        $q->select('id', 'photo_id', 'user_id')
          ->where('user_id', (int)auth()->id());
    })
    ->latest('likes_count');
}])
вроде по семантике запроса так должно быть
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:19
ты о чем?
Ваня Devium
@webdevium
Aug 02 2017 08:19
а ты о чем?
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:20
а и лайки же в другой табле
я не могу сортировать так
Ваня Devium
@webdevium
Aug 02 2017 08:20
есть photo, есть likes. Что еще есть?
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:21
табла батлы там фото айди. Табла лайки там фото. Я смотрю фотки из батлы + кол-во лайков
Ваня Devium
@webdevium
Aug 02 2017 08:21
@userbq201 я тебе написал запрос. Ты не понимаешь как это работает.
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:23
не сортнуло
Ваня Devium
@webdevium
Aug 02 2017 08:23
@userbq201 запрос конечный покажи
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:24
@webdevium я выше полный кинул
Ваня Devium
@webdevium
Aug 02 2017 08:25
@userbq201 сгенерированный
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:25
"select * from battle where (week = ? and publish = ?)"
Ваня Devium
@webdevium
Aug 02 2017 08:26
не прикалывайся. Полный сгенерированный запрос покажи, иначе от помощи смысла не будет.
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:26
как? что за запрос? toSql я сделал
Ваня Devium
@webdevium
Aug 02 2017 08:27
@userbq201 почитай в поисковике как посмотреть полный сгенерированный запрос
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:31
        \DB::listen(function($data) {
            dump($data);
        });
не помогает
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:37
подмоги D. ен гуглится
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:39
сделал
string(59) "select * from `battle` where (`week` = ? and `publish` = ?)" array(2) { [0]=> int(1) [1]=> int(2) } string(152) "select `photo`.*, (select count(*) from `likes` where `photo`.`id` = `likes`.`photo_id`) as `like_count_count` from `photo` where `photo`.`id` in (?, ?)" array(2) { [0]=> int(17) [1]=> int(19) } string(44) "select * from `users` where `id` = ? limit 1" array(1) { [0]=> int(6) } string(100) "select `id`, `photo_id`, `user_id` from `likes` where `likes`.`photo_id` in (?, ?) and `user_id` = ?" array(3) { [0]=> int(17) [1]=> int(19) [2]=> int(6) } string(72) "select `id`, `uid`, `provider` from `users` where `users`.`id` in (?, ?)" array(2) { [0]=> int(5) [1]=> int(6) }
или как кинуть что бы видно было?
да. так не сделать сортировку
Ваня Devium
@webdevium
Aug 02 2017 08:43
@userbq201 там на SO есть вариант, когда полные запросы пишутся в лог файл, не видел?
@userbq201 это раз, два: ты не сделал как я тебе написал
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:44
пробовал. Работает но не меняет ничего
Ваня Devium
@webdevium
Aug 02 2017 08:45
@userbq201 ты мне покажи конечных гребанных три запроса. Не prepared statement, а три готовых запроса
@userbq201 а я тебе скажу что поменять чтоб "заработало"
будешь ныть, что не работает и хрен знает почему - точно работать не будет
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:47
select * from `battle` where (`week` = ? and `publish` = ?)
select `photo`.*, (select count(*) from `likes` where `photo`.`id` = `likes`.`photo_id`) as `like_count_count` from `photo` where `photo`.`id` in (?, ?) order by `like_count_count` desc
select * from `users` where `id` = ? limit 1
select `id`, `photo_id`, `user_id` from `likes` where `likes`.`photo_id` in (?, ?) and `user_id` = ?
Ваня Devium
@webdevium
Aug 02 2017 08:48
@userbq201 ты как фотки выводишь?
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:48
в цикле. Массив батлов и $item->photo
Ваня Devium
@webdevium
Aug 02 2017 08:49
@userbq201 foreach ($item->photo->sortByDesc('like_count_count') as $photo)
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:52
не понял. Ты не о том. Массив батлы и в нем фотки. А не фото типа массив. Фото не масиив
Ваня Devium
@webdevium
Aug 02 2017 08:53
@userbq201 Есть несколько баттлов, у баттла есть несколько фоток, у фотки есть несколько лайков?
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:55
есть батл там 1 к 1му фото и фоток 1 ко многим лайки
Ваня Devium
@webdevium
Aug 02 2017 08:55
@userbq201 а что сортировать то надо?
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:55
фото по лайкам
Ваня Devium
@webdevium
Aug 02 2017 08:55
так у одного баттла одна фотка. Что сортировать?
баттлы?
Shelomanov Dmitry
@userbq201
Aug 02 2017 08:56
вот и я об этом. Как выйдет ? Из этого вроде не выйдет фото по лайкамм отсортировать. Может батлы выйдет?
Ваня Devium
@webdevium
Aug 02 2017 08:56
@userbq201 ты начинаешь удивлять. Определись что тебе вообще надо сделать.
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:01
@webdevium так можно что то сдлеать?
Ваня Devium
@webdevium
Aug 02 2017 09:02
@userbq201 что тебе надо сделать???
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:02
Всем утречко :)
Ваня Devium
@webdevium
Aug 02 2017 09:02
@Nuboskill_twitter в 12 дня
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:02
ну пока позавтракаешь, в душик сходишь...)
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:03
@webdevium отсортировать по лайкам
Ваня Devium
@webdevium
Aug 02 2017 09:03
@userbq201 кого, баттлы?
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:03
да
получается 1ин батл содержит одну фотку с кол-вом лайков
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:03
Если с js фреймворками не работал, то какой лучше выбрать для ларавел? Пока дискуссии из интернетов приводят к vue.js
А то в jquery уже громоздко выходит, поглядел в сторону вью, там многие штуки короче выйдут и удобнее
Ваня Devium
@webdevium
Aug 02 2017 09:04
@userbq201 делаешь througth связь для баттла через photo
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:04
лара это сервер. Нет значения что на клиенте
Ваня Devium
@webdevium
Aug 02 2017 09:04
@userbq201 закончишь - покажи код
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:04
вопрос удобства, ларакаст во всю делает ставку на вью
вот и решил поинтересоваться у тех, кто с js фреймворками работал, какой удобнее для лары
Ваня Devium
@webdevium
Aug 02 2017 09:06
@Nuboskill_twitter реакт
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:07
@webdevium чем удобнее того же vue?
Ваня Devium
@webdevium
Aug 02 2017 09:07
@Nuboskill_twitter нельзя сравнивать
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:10
@webdevium почему именно ты используешь его, а не вью? Чем он для тебя удобнее? Что он может, чего не может вью? Я просто с js фреймворками не работал, только jquery, только хардкор. И хочется сразу тыкнуть в примерно нужном направлении.
Ваня Devium
@webdevium
Aug 02 2017 09:11
@Nuboskill_twitter реакт занимается только отображением
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:14
@webdevium для динамического изменения содержимого страницы при том же ajax'e кто из них удобнее?)
Ваня Devium
@webdevium
Aug 02 2017 09:15
@Nuboskill_twitter смотря откуда руки
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:16
да понятно, что можно и на чистом скрипте писать, но я про именно удобство написания, используя инструмент
Ваня Devium
@webdevium
Aug 02 2017 09:17
@Nuboskill_twitter ву - человекопонятней
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:18
@webdevium спасибо
KarmaBot
@KarmaBot
Aug 02 2017 09:18
Спасибо (+1) для @webdevium принято! Текущая карма +251.
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:19
продолжу тогда его учить
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:25
@webdevium не заходит этот метод чет
@webdevium не могу юзнуть. Бд не подходит
Ваня Devium
@webdevium
Aug 02 2017 09:26
@userbq201
public function likes()
{
    return $this->hasManyThrough(Photo::class, Like::class);
}
что значит биде твоя не подходит?
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:27
пустой массив в связи выходит
        return $this->hasManyThrough(
            'App\Models\Photo', 'App\Models\Likes',
            'photo_id', 'id', 'photo_id'
        );
для лайко внешний ключ photo_id, для photo это id и локальный в батле это photo_id
Ваня Devium
@webdevium
Aug 02 2017 09:28
@userbq201 нарисуй структуру базы acsii символами
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:32
image.png
@webdevium
Ваня Devium
@webdevium
Aug 02 2017 09:33
public function likes()
{
    return $this->hasManyThrough(Like::class, Photo::class);
}
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:35
        return $this->hasManyThrough(
            'App\Models\Likes','App\Models\Photo',
            'id', 'photo_id', 'photo_id'
        );
пусто
Ваня Devium
@webdevium
Aug 02 2017 09:35
@userbq201 покажи запрос
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:36
select `likes`.*, `photo`.`id` from `likes` inner join `photo` on `photo`.`id` = `likes`.`photo_id` where `photo`.`id` in (?, ?)"
Ваня Devium
@webdevium
Aug 02 2017 09:37
@userbq201 это запрос Battle::find(1)->likes ?
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:39
откуда он лайки достнет? тут без with
Ваня Devium
@webdevium
Aug 02 2017 09:39
@userbq201 hasManyThrough этим и занимается. Берет баттл, его фотку, и сквозь нее вытягивает все лайки
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:40
это же в виз нужно указать. или нет?
Ваня Devium
@webdevium
Aug 02 2017 09:40
@userbq201 нет
@userbq201 with() другим занимается
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:41
likes это название метода?
Ваня Devium
@webdevium
Aug 02 2017 09:41
@userbq201 это название связи, читай - метода
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:43
Trying to get property of non-object
лара не видит метода
Ваня Devium
@webdevium
Aug 02 2017 09:43
@userbq201 Баттл не выбрался. Ну подставь же существующий ID, йопрст
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:44
пусто
Ваня Devium
@webdevium
Aug 02 2017 09:44
@userbq201 ID существующего баттла дай
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:44
дал. ошибки нету. Пустой массив пришел
Ваня Devium
@webdevium
Aug 02 2017 09:45
@userbq201 сделай теперь для этого батла фотку, и для фотки несколько лайков
и дай конечный запрос
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:45
все есть
пусто приходит
Ваня Devium
@webdevium
Aug 02 2017 09:45
@userbq201 ЗАПРОС
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:46
а стоп. Пришло
select `likes`.*, `photo`.`id` from `likes` inner join `photo` on `photo`.`id` = `likes`.`photo_id` where `photo`.`id` = ?
Ваня Devium
@webdevium
Aug 02 2017 09:47
@userbq201 зашибись, теперь твой мега запрос превращается в
Battle::withCount('likes')->with('photo')->orderBy('likes_count', 'desc')->get();
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:50
вроде ок. Сейчас проверю
а теперь + юзер это просто метод with photo изменить ? Добавить user ?
Ваня Devium
@webdevium
Aug 02 2017 09:51
юзер к чему?
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:51
что бы еще инфу юзера чья фотка получить
Ваня Devium
@webdevium
Aug 02 2017 09:51
у фотки нет пользователя
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:51
есть поля там user_id
Ваня Devium
@webdevium
Aug 02 2017 09:52
в какой таблице?
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:52
photo
Ваня Devium
@webdevium
Aug 02 2017 09:52
@userbq201 на картинке схемы этого поля нет
ну тогда with('photo.user')
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:52
в данной ситуации оно не важно
о об этом коротком синтаксисе я не знал
Ваня Devium
@webdevium
Aug 02 2017 09:53
@userbq201 изучай изучай
ты еще много не знаешь, но главное - не останавливаться
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:53
хотя знал. Но мне говорили что лучше отдельно
Ваня Devium
@webdevium
Aug 02 2017 09:54
@userbq201 зависит от ситуации
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:58
@webdevium hasManyThrough что этот метод дал? Я читнул доки и не врубился
Ваня Devium
@webdevium
Aug 02 2017 09:58
@userbq201 переведи это с английского и поймешь
Shelomanov Dmitry
@userbq201
Aug 02 2017 09:58
я на рус читал D
Ваня Devium
@webdevium
Aug 02 2017 09:59
нечем гордиться
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 09:59
множественная связь через сквозную таблицу?
Ваня Devium
@webdevium
Aug 02 2017 09:59
:+1:
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:03
@Nuboskill_twitter это и я прочитал. А как понять?
Sergey Titov
@Nuboskill_twitter
Aug 02 2017 10:03
я даже не знаю как тебе расшифровать мое предложение выше, в нем в принципе и есть ответ)
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:16
не. не то вышло
DzetaLabs
@DzetaLabs_twitter
Aug 02 2017 10:28
Всем привет. Подскажите где можно прочитать про использование firebase (FCM) Я изучаю laravel, пытаюсь написать backend для простенького мобильного приложения, и не могу понять как интегрировать FCM с фреймворком. Заранее спасибо.
KarmaBot
@KarmaBot
Aug 02 2017 10:28
@DzetaLabs_twitter, привет =)
@DzetaLabs_twitter, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:29

@webdevium

select `battle`.*, (select count(*) from `likes` inner join `photo` on `photo`.`id` = `likes`.`photo_id` where `battle`.`id` = `photo`.`id`) as `likes_count` from `battle`

Как поменять условие where battle.id = photo.id ? По этому у меня коунт = 0

Ваня Devium
@webdevium
Aug 02 2017 10:29
@userbq201 как запрос написал?
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:31
$this->battle->withCount('likes')->get();
Ваня Devium
@webdevium
Aug 02 2017 10:31
@userbq201 хотя пофиг, прочти внимательно 12 раз порядок ключей в объявлении сквозной связи и переделай нормально
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:31
и тут видишь он джоинит. по батл id. А нужно по батл photo_id
я прочел правильно порядок ключей.
Ваня Devium
@webdevium
Aug 02 2017 10:32
@userbq201 пиши сюда простыми словами
1) ?
2) ?
3) ?
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:32
1й для промежуточной
2й конечной
3й локальный
т.е. 1й для 2й -> 2й для 1й -> 3й локальный
Ваня Devium
@webdevium
Aug 02 2017 10:34
@userbq201 напиши как обьявлены связи между battle и photo
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:35
    public function likes()
    {
        return $this->hasManyThrough(
            'App\Models\Likes','App\Models\Photo',
            'id', 'photo_id', 'photo_id'
        );
    }
Ваня Devium
@webdevium
Aug 02 2017 10:35
@userbq201 БАТТЛ И ФОТО
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:36
@webdevium нету батла и фото. Я пока без фото беру. Только этот метод
мне 0 приходит
    public function photo()
    {
        return $this->belongsTo('App\Models\Photo');
    }
Dualse @Dualse в шоке от терпения @webdevium
webdevium @webdevium сам в шоке
Ваня Devium
@webdevium
Aug 02 2017 10:37
@Dualse может поможешь, я пока на обед схожу, час уже голодный сижу с его базой...
Alexander
@Dualse
Aug 02 2017 10:38
@webdevium нет конечно, у меня нету столько времени)
Ваня Devium
@webdevium
Aug 02 2017 10:40
@userbq201 короче, withCount не понимает по какому ключу связку нужно сделать.
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:41
и что делать?
Ваня Devium
@webdevium
Aug 02 2017 10:42
@userbq201 у тебя база не самым красивым образом спроектирована. Сделай два запроса и построй "вывод" как тебе надо
@userbq201 у тебя все равно все лайки поделены по photo_id
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:42
блин хрень выходит
select `likes`.*, `photo`.`id` from `likes` inner join `photo` on `photo`.`id` = `likes`.`photo_id` where `photo`.`id` in (?, ?)
Ваня Devium
@webdevium
Aug 02 2017 10:43
@userbq201 можешь справочник сделать photo_id => count() group by photo_id
@userbq201 а лучше всего - join написать, там две таблицы прикрутить, никаких проблем. Тогда всю свою портянку сможешь реализовать
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:44
in (?,?) эти id он откуда возмет?
Ваня Devium
@webdevium
Aug 02 2017 10:45
@userbq201 посмотри в bindings, мне по чем знать то
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:46
все есть. В связи пусто
$this->battle->with('likes')->get()
Alexander
@Dualse
Aug 02 2017 10:47
@webdevium в двух словах, в чем конкретно проблема?
Ваня Devium
@webdevium
Aug 02 2017 10:47
@userbq201
  • пропиши связь в Battle для Photo и обратно
  • пропиши связь в Photo для Like и обратно
  • приходи сюда
@Dualse withCount() не работает у человека
Alexander
@Dualse
Aug 02 2017 10:48
@webdevium почему? у него какая-то магическая структура данных?
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:49
@webdevium есть эти связи
Ваня Devium
@webdevium
Aug 02 2017 10:49
@Dualse связи не плотно описаны, я ему написал как должна сквозная работать, но она тоже неадекватные ключи подставила, НЕ для ЕГО базы, понял?
@userbq201 тебе счас Саня поможет
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:50
        $data = $this->battle
            ->with(['photo' => function($q) {
                $q->with(['likes' => function($q) {
                    $q->select('id', 'photo_id', 'user_id')
                      ->where('user_id', Auth::user() ? Auth::user()->id : 0);
                }])
                ->with(['user' => function($q) {
                    $q->select('id', 'uid', 'provider');
                }])
                ->withCount('likeCount')
            }])
            ->where([
                ['week', DateHelper::currentStep()],
                ['publish', 2]
            ])
            ->orderBy('id', 'asc')
            ->orderBy('photo.likes', 'asc')
            ->get();
вот что было в начале
батл с фото. Фото с лайками и юзером
но в этом я не могу просортировать по лайкам
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:56
отбой. Оказалось проще не куда. Я просто батлу связь лайков кинул.
KarmaBot
@KarmaBot
Aug 02 2017 10:56
@userbq201, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:57
@webdevium пасибо
KarmaBot
@KarmaBot
Aug 02 2017 10:57
Спасибо (+1) для @webdevium принято! Текущая карма +252.
Shelomanov Dmitry
@userbq201
Aug 02 2017 10:57
@Dualse и тебе. спасибо
KarmaBot
@KarmaBot
Aug 02 2017 10:57
Спасибо (+1) для @Dualse принято! Текущая карма +159.
Alexander
@Dualse
Aug 02 2017 11:02
о, холява
Shelomanov Dmitry
@userbq201
Aug 02 2017 11:07
@Dualse не говори
Kirill Nesmeyanov
@SerafimArts
Aug 02 2017 11:10
халява - приди!
nitrolovsky
@nitrolovsky
Aug 02 2017 11:51
Курсы Laravel в СПб кто-нибудь встречал?
JhaoDa
@jhaoda
Aug 02 2017 11:55
@nitrolovsky Laracast наше всё
Ostap
@BendersOstap_twitter
Aug 02 2017 16:31
Привет други) а как запросить из базы статьи текущего пользователя?) при улсовии что есть связь один ко многим
KarmaBot
@KarmaBot
Aug 02 2017 16:31
О! @BendersOstap_twitter! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
Ваня Devium
@webdevium
Aug 02 2017 16:31
auth()->user()->articles
Ostap
@BendersOstap_twitter
Aug 02 2017 16:33
@webdevium оооо thx =)
KarmaBot
@KarmaBot
Aug 02 2017 16:33
Спасибо (+1) для @webdevium принято! Текущая карма +253.
Ostap
@BendersOstap_twitter
Aug 02 2017 16:35
@webdevium вот принято создавать судя по мануалам контроллеры ArticlesUserController для чего это делается?
Ваня Devium
@webdevium
Aug 02 2017 16:35
@BendersOstap_twitter это принято теми бездарями, которые "такие" мануалы пишут
JhaoDa
@jhaoda
Aug 02 2017 16:36
@BendersOstap_twitter чувак, ты тоже из секты Отрицающих Документацию?
Ostap
@BendersOstap_twitter
Aug 02 2017 16:37
@jhaoda лол))) я пока новичек ))
JhaoDa
@jhaoda
Aug 02 2017 16:37
@BendersOstap_twitter и что, новичкам можно не читать документацию?
Ostap
@BendersOstap_twitter
Aug 02 2017 16:38
@jhaoda а с чего сложилось такое мнение?)
JhaoDa
@jhaoda
Aug 02 2017 16:39
@BendersOstap_twitter ну либо ты не знаешь про auth()->user(), либо знаешь, но не понимаешь, что этот метод возвращает. Либо ты не знаешь, как запрашивать связи.
Ostap
@BendersOstap_twitter
Aug 02 2017 16:40
@jhaoda ну на данном этапе я нахожусь в разделе "связи" и пока не наблюдаю это решение с auth()->user() поэтому возник вопрос
@jhaoda https://laravel.ru/docs/v5/eloquent-relationships покрайней мере тут явного примера нету
JhaoDa
@jhaoda
Aug 02 2017 16:41
@BendersOstap_twitter именно, ты читаешь доку кусками, тогда как надо её читать всю, с первого раздела
@BendersOstap_twitter и почему в разделе про связи должно быть упоминание механизма аутентификации? Это разные вещи, но понимание их устройства позволили бы тебе сделать вывод, что их можно использовать совместно
Ostap
@BendersOstap_twitter
Aug 02 2017 16:43
@webdeviumhttps://youtu.be/AGQXFR2EI2I?list=PL3ZhWMazGi9JImZ4Xl1n1NDqZRQYaY2IE&t=420 вот линк пример построение такого контролера
JhaoDa
@jhaoda
Aug 02 2017 16:46
@BendersOstap_twitter и кстати, документация там уже год не обновлялась, застряв на версии 5.2
Ostap
@BendersOstap_twitter
Aug 02 2017 16:49
@jhaoda ну она основные понятия несет в себе, я как бы умею сравнивать что конкретно изменилось добавилось
JhaoDa
@jhaoda
Aug 02 2017 16:49
@BendersOstap_twitter я вижу, как ты умеешь...
Ostap
@BendersOstap_twitter
Aug 02 2017 16:52
@jhaoda Чувак, ты либо помогай либо не помогай, как это делает webdevuim он в двух словах дает максимально подробный ответ, конкретно тебя я о помощи не прошу, пройди мимо, чем лить пустые слова о том что ты видишь или не видишь, мы не в детском саду
JhaoDa
@jhaoda
Aug 02 2017 16:53
@BendersOstap_twitter а я не хочу проходить мимо
Ostap
@BendersOstap_twitter
Aug 02 2017 16:53
@jhaoda значит я буду просто игнорить тебя) мне как то до фени)
JhaoDa
@jhaoda
Aug 02 2017 16:54
@BendersOstap_twitter кто тебе мешал делать это раньше? Но лучше игнорь меня путём чтения доки
Ostap
@BendersOstap_twitter
Aug 02 2017 17:04

@webdevium правильно ли будет следующее?

    public function index()
    {
        $user = auth()->user();

        return view('home', compact('user'));
    }

а во вьюхе я вывожу

                @foreach($user->posts as $post)

                <article class="post">
                    <p>{{ $post->body }}</p>
                    <div class="info">Posted by {{ $user->name }} at {{ $post->created_at }}</div>
                    <div class="interaction">
                        <a href="#">Like</a> |
                        <a href="#">DisLike</a> |
                        <a href="#">Otpiska</a>
                    </div>
                </article>
                <hr>
                    @endforeach

тем самым захватывая имя автора и инфо о посте принадлежащее текущему юзеру?

Ваня Devium
@webdevium
Aug 02 2017 17:05
@BendersOstap_twitter
а) если связть прописана правильно
б) если прям внутри view обращаться к auth()->user(), а не прокидывать в шаблон
ну и как бы обязательная проверка на user(), если только эта вью не под мидлварей
Kirill Nesmeyanov
@SerafimArts
Aug 02 2017 17:06
@BendersOstap_twitter я бы предложил возвращать посты, а не юзера во вьюху
можно будет потом добавить пагинацию или ещё что
Ваня Devium
@webdevium
Aug 02 2017 17:06
Преждевременная оптимизация не нужна.
Kirill Nesmeyanov
@SerafimArts
Aug 02 2017 17:06
да и в индекс метод юзера через аутентификайтабл подсасывать, а не юзать сервис-локацию через функцию-хелпер
Но это уже личное
Ostap
@BendersOstap_twitter
Aug 02 2017 17:07
@SerafimArts @webdevium понял только что, что другие юзеры не смогут просмотреть в таком случае чужие посты других пользователей ибо только авторизированый пользователь сможет увидеть свои посты
Ваня Devium
@webdevium
Aug 02 2017 17:09
естественно, ты изначально такое условие поставил
Kirill Nesmeyanov
@SerafimArts
Aug 02 2017 17:09
public function indexOwn(Authenticatable $user): View
{
    return $thist->renderIndex($user);
}

public function indexOther($userId): View
{
    $user = User::findOrFail($userId);
    return $thist->renderIndex($user);
}

private function renderIndex(User $user): View
{
   ....
}
Ostap
@BendersOstap_twitter
Aug 02 2017 17:10
@webdevium а как тогда сформировать запрос без использования двойного контроллера (ArticleUserController) что бы пользователи смогли друг друга посты смотреть что то типо стены вк
Kirill Nesmeyanov
@SerafimArts
Aug 02 2017 17:10
типа такого =)
можно совместить, никто не мешает
Ваня Devium
@webdevium
Aug 02 2017 17:11
@BendersOstap_twitter Просто тащи все посты, и все. Чтоб понять чей он, сделай helper isMine(), в котором сравнивай автора с текущим зверем
Kirill Nesmeyanov
@SerafimArts
Aug 02 2017 17:11
достаточно аргумент роута $userId сделать опциональным
@webdevium это уже немного иное....
Ваня Devium
@webdevium
Aug 02 2017 17:12
@SerafimArts все зависит от того, делает ли он клон ВК
Kirill Nesmeyanov
@SerafimArts
Aug 02 2017 17:13
ну как бы хелпер нужен максимиум для того, чтобы во вьюшке показывать или скрывать какие-нибудь доп.опции, вроде "удалить"
Ostap
@BendersOstap_twitter
Aug 02 2017 17:13
@webdevium знаичт проще все же как чувак на видео делает двойной контроллер ArticleUserController)
Kirill Nesmeyanov
@SerafimArts
Aug 02 2017 17:13
да и то, это не через isMine, а через права
Ваня Devium
@webdevium
Aug 02 2017 17:13
@BendersOstap_twitter я даже за деньги не открою то видео
Kirill Nesmeyanov
@SerafimArts
Aug 02 2017 17:13
@BendersOstap_twitter нет, не проще
я уже тебе привёл пример
код выше
Джангар
@Dzhangar1980
Aug 02 2017 17:33
Всем привет! Посоветуйте нормальный медиа-менеджер. Использовал talvbansal/media-manager. Криво лег да и много не хватает...
KarmaBot
@KarmaBot
Aug 02 2017 17:33
@Dzhangar1980, здравствуй.
slider23
@slider23
Aug 02 2017 18:07
Кто там просил версионность моделей вчера ? http://www.laravel-auditing.com
PhpNet
@PhpNet
Aug 02 2017 18:15
@slider23 под 5.4 заведется оно? на сайте 5.2 указан :(
slider23
@slider23
Aug 02 2017 19:32
А почему не должен ? Новость прошла на laravel-news.com , значит на современных версиях должно работать.
Ostap
@BendersOstap_twitter
Aug 02 2017 19:36
ребят а чем отличается laravel.su от laraver.ru
laravel.ru *
JhaoDa
@jhaoda
Aug 02 2017 19:42
Как минимум доменом верхнего уровня, очевидно.
Ostap
@BendersOstap_twitter
Aug 02 2017 19:43
чет тишина в чате)
JhaoDa
@jhaoda
Aug 02 2017 19:45
@BendersOstap_twitter шутка, достойная камеди клаба. Такое же говно.