首页 > 解决方案 > 从控制器传递值以查看未定义的变量错误

问题描述

public function welcome()
{
    $posts = new Post;
    $data = $posts->data();

    return view('welcome', compact("data"));
}

Post模型中的方法:

public function data()
{ 
    return ['name ' => 'ABC', 'company'=> 'com']; 
}

这是控制器

{{ $data['name'] }}
{{ $data['company'] }}

这是视图

我已将值从控制器传递到查看并获得未定义的变量错误

标签: laravel

解决方案


首先 $posts = new Post 不会返回数据,而是返回 Post 类的实例,而是找到这样的帖子。

$posts = Post::find(1);

你可以这样做

public function welcome()
{
     $posts = Post::find(1);
     $data['data'] = $posts->my_relationship;

     return view('welcome', $data);
}

并在视图中调用它

{{$data->name}}
{{$data->company}}

假设 my_relationship 是附加到您的帖子模型的关系。否则,您可以直接将该帖子传递给视图。像这个

public function welcome()
{
     $posts = Post::find(1);
     $data['data'] = $posts;

     return view('welcome', $data);
}

假设 name 和 company 字段放置在您的 post 表中


推荐阅读