Eloquent / Laravel Как объединить два отдельных массива для указания c значений - PullRequest
0 голосов
/ 26 января 2020

Я работаю над проектом laravel / eloquent в социальных сетях.

Для начала я вставлю соответствующий код, так как он понадобится в качестве контекста для того, что я описываю .

$friends = Relationships::where([['rel_A', Auth::user()->name], ['type', 'friend']])
->orWhere([['rel_B', Auth::user()->name], ['type', 'friend']])
->get();

if (count($friends) > 0) {
    $friendData = collect();
    foreach ($friends as $friendu) {
        if ($friendu->rel_A == Auth::user()->name) { 
            $friendName = $friendu->rel_B; 
        } else { 
            $friendName = $friendu->rel_A; 
        }
        $friendReturn = User::where('name', $friendName)->first();
        $friendData->push($friendReturn);  
    }
} else {
    $friendData = collect();
}

У меня есть страница, которая отображает запросы на добавление в друзья, взятые из определенной таблицы запросов на добавление c, и у меня есть еще одна таблица для пользователей. Как видно из приведенного выше кода, я получаю две коллекции: $friends и $friendData.

Проблема в том, что я не могу просто объединить две коллекции, так как тогда foreach l oop на странице принимает информацию $friendData как запрос и выдает ошибку при попытке получить столбцы из это не существует в моей таблице пользователей. Я не могу сделать всеобъемлющую коллекцию обоих массивов, потому что, хотя она решает вышеуказанную проблему, она не помогает мне отображать информацию из таблицы пользователей, так как я буду делать foreach l oop через коллекцию $friends .

У меня есть пара мест, где я хотел бы делать подобные вещи, и хотя я мог бы просто добавить еще один столбец к своему SQL и просто сделать это таким образом, выполнение этого кажется несколько неэффективным. и не нужно, когда кажется, что есть способ связать контент коллекции $friends с контентом $friendData через их общее имя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...