Объедините и получите две коллекции с одинаковыми отношениями [закрыто]Php

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

Сообщение Anonymous »

------ ДОБАВЛЕНО -------

Выглядит как доска объявлений.

Пользователи могут создавать «каналы» и

Вы можете войти в «Канал» и написать «Сообщить»

Отсюда.

Я создал «Канал»

Он будет внесен в модель каналов

Когда я присоединяюсь к «каналу», созданному кем-то другим, я вхожу в модель Channel_joins.
Просто

в модели канала
Такая информация как имя канала, создатель и т. д.

Модель объединения каналов содержит только идентификатор канала и идентификатор пользователя, и каждый идентификатор связан с внешним ключом.
Я объединяю " каналы", которые я создал, и "Каналы", на которые я подписался, отображаются в виде списка

Код приведен ниже

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

        $joins = $this->channelJoins()
->join('channels', 'channel_joins.channel_id', '=', 'channels.id')
->get();
$channels = $this->channels()
->leftJoin('channel_joins', 'channels.id', '=', 'channel_joins.channel_id')
->select('channels.*', 'channel_joins.channel_id', 'channel_joins.user_id')
->get();
$vals = collect($joins)->merge($channels);
Мне нужно перебрать список в представлении и показать два данных.
  • Показать название канала
    Количество людей, подписанных на канал
Вот почему я застрял

При проверке с помощью dd() $list состоит из одной коллекции и существует две модели. В нем «App\Models\Channels» и «App\Models\Channel_joins».
[img]https://i.sstatic. net/6N0IV.png[/img]

В случае модели канала название канала не является проблемой, но проблема состоит в том, чтобы напечатать количество подписанных людей.
На всякий случай модели объединения каналов, проблема с выводом имени канала.
I

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

            @forelse ($posts as $list)



[url={{ route(]id) }}">{{ $list->name }}[/url]

Count: 

{{--                                    {{ dd($list) }}--}}
{{ ($list->count('user_id')) }}

  EA



@endforeach
------ ДОБАВЛЕНО ---------
Вот

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

Channels Table
Изображение

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

Channel Joins Table
Изображение

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

Users Table
Изображение

Спасибо за ответ

У меня есть один канал под названием a, но на картинке он выводится как два.
Кроме того, количество людей, которые на канал а подписано 2, а на остальные каналы 0-1 люди. На рисунке показано неправильное значение.
как правильно изменить мой запрос?
Изображение


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

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

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

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

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

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

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