$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/>" ;
答案 0 :(得分:0)
如果我正确理解了您想要的内容,则可以向Spot模型添加属性。
Spot.php
protected $appends = [
'message'
];
public function getMessageAttribute()
{
//Assign the string value that you want to see
$message = "Value";
return $message;
}
您可以像这样为每个竞价对象访问此消息属性。
$spot->message;
答案 1 :(得分:0)
我认为对我而言,更简单的方法是使用多态关系,而不是使用具有3列的数据透视表。