Как вы распечатываете две загруженные отношения из одной модели - PullRequest
0 голосов
/ 17 мая 2019

$spots является результатом двух-многих отношений из загруженного запроса

 $spots = Spot::where('posted_by','=',$userId)->has('activityCreators')
            ->with('activityCreators','activityTypes')
            ->get();
foreach ($spots['activityCreator'] as $activityCreator) {
    $activityType = $spots['activityType']->map(function($item,$key){
        // return $item->pluck('id') ;  
        return $item->id ;
    })->dump() ;

Мне нужно отобразить что-то вроде запроса:

echo $activityCreator->pivot->display_name ." made an {$activityType->activity_type}  on Spot Id  " .$activityCreator->pivot->spot_id."<br/>" ; 

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Я думаю, что для меня более простой способ - использовать Полиморфные отношения вместо того, чтобы использовать сводную таблицу с 3 столбцами.

0 голосов
/ 17 мая 2019

Если я правильно понял, что вы хотите, вы можете добавить атрибут к вашей модели Spot.

Spot.php

protected $appends = [
    'message'
];


public function getMessageAttribute()
{   
    //Assign the string value that you want to see
    $message = "Value";

    return $message;
}

Вы можете получить доступ к этому атрибуту сообщения для каждого точечного объекта, подобного этому.

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