Для достижения этого поведения вы должны использовать globals()
встроенный метод :
def var_of_var(k, v):
globals()[k] = v
print variable_name # NameError: name 'variable_name' is not defined
some_name = 'variable_name'
globals()[some_name] = 123
print variable_name # 123
some_name = 'variable_name2'
var_of_var(some_name, 456)
print variable_name2 # 456
попробуйте
Вид лезвия
@foreach ($post as $p)
{{$p->user->name }}
@endforeach
Контроллер
public function main_page(){
$post= Post::with('user')->latest()->get();
return view('main' , compact('post') );
}
Модель post
public function user(){
$this->belongsTo('App\User');
}