передача значения из контроллера для просмотра неопределенной ошибки переменной - PullRequest
0 голосов
/ 17 января 2020
public function welcome()
{
    $posts = new Post;
    $data = $posts->data();

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

Метод в Сообщение Модель:

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

Это контроллер

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

Это представление

Я прошел значение из контроллера для просмотра и получения неопределенной переменной error

Ответы [ 3 ]

2 голосов
/ 17 января 2020

Прежде всего, $ 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);
}

при условии, что имя и поле компании размещены в вашей почтовой таблице

0 голосов
/ 18 января 2020

У вас есть пробел в индексе name внутри вашего data() метода ('name '). Это не выдаст undefined variable error, однако, это вызовет ошибку Undefined index, так как вы пытаетесь получить доступ к 'name', а не 'name ' по вашему мнению.

Чтобы это исправить, вы должны просто возможность удалить пробел в вашем data() методе:

public function data()
{ 
    return ['name' => 'ABC', 'company'=> 'com']; 
}
0 голосов
/ 18 января 2020

Измените вашу функцию в вашей модели на эту.

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

, так назовите это в вашем контроллере.

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

     return view('welcome', $data);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...