Laravel 5-在视图中使用动态属性


Laravel 5 - using dynamic properties in view

我的模型中有一个动态属性user

class Training extends Model
{
    ...
    public function user()
    {
        return $this->belongsTo('App'User');
    }
}

我可以很容易地在控制器中获得用户名,如下所示:

Training::find(1)->user->name

但我不知道如何在视图中执行相同的操作。我试过这个:

控制器:

return view('training/single', Training::find(1));

视图:

{{ $user->name }};

但没有成功,我得到了错误Undefined variable: user。所以看起来我无法访问视图中的动态属性。

知道如何在视图中使用动态属性吗?

我担心这真的不可能。无法将视图中的$this上下文设置为模型。您可以使用toArray()将模型转换为数组,但这将包括相关模型,并且您必须使用$user['name']访问它。

我个人只会明确声明用户变量:

$training = Training::find(1);
return view('training/single', ['training' => $training, 'user' => $training->user]);

使用紧急加载

return view('training/single', Training::with('user')->find(1));