Laravel 将值从控制器传递到查看未定义变量错误

Laravel 将值从控制器传递到查看未定义变量错误,laravel,Laravel,Post模型中的方法: public function welcome() { $posts = new Post; $data = $posts->data(); return view('welcome', compact("data")); } 这是控制器 public function data() { return ['name ' => 'ABC', 'company'=> 'com']; } 这是我的看法 我已将值从控制器

Post模型中的方法:

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

    return view('welcome', compact("data"));
}
这是控制器

public function data()
{ 
    return ['name ' => 'ABC', 'company'=> 'com']; 
}
这是我的看法


我已将值从控制器传递给view and get undefined variable error(查看和获取未定义变量错误)

首先$Post=新Post不会返回数据,而是返回Post类的实例,而是查找类似这样的Post

{{ $data['name'] }}
{{ $data['company'] }}
你可以像这样做

$posts = Post::find(1);
{{$data->name}}
{{$data->company}}
在视野中呼唤它

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

     return view('welcome', $data);
}
假设my_关系是附加到您的帖子模型的关系。否则,您可以直接将该帖子传递给视图。像这个

$posts = Post::find(1);
{{$data->name}}
{{$data->company}}

假设名称和公司字段位于post表中

将模型中的函数更改为此

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

     return view('welcome', $data);
}
像这样在你的控制器中调用这个

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

data()
方法(
'name'
)中的索引
name
中有一个空格。这不会产生
未定义变量错误
,但是,当您试图访问视图中的
'name'
而不是
'name'
时,会产生
未定义索引
错误

要解决此问题,只需删除
data()
方法中的空格即可:

public function welcome()
{
     $post = Post::data();
     $data['data'] = $post;

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

请显示
Post
class.Public function data(){return['name'=>'ABC','company'=>'com'];}如果任何答案正确,我将标记为接受。请提供您收到的错误的屏幕截图。它不起作用。我也使用了这个它也不起作用Public function show(Post$Post){$post=post::find($post);return view('posts.show',compact('post');}你能告诉我这个的返回吗,post::find($post);?公共函数数据(){return['name'=>'ABC','company'=>'com'];}那是函数还是数据?我的意思是,当你执行这个post::find($post);?公共函数数据(){return return['name'=>'ABC','company'=>'com'];}这是模型类公共函数welcome()中的函数{$posts=new Post//model对象;$data=$posts->data()//将数据函数传递给数据可验证;返回视图('welcome',compact(“data”);//返回视图压缩数据可验证}我没有多余的钱,放弃了我拥有的方法和价值tried@Hammad对不起,我不知道你想说什么。