Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 视图Laravel 5.6中未定义的变量_Php_Laravel_Laravel 5.6 - Fatal编程技术网

Php 视图Laravel 5.6中未定义的变量

Php 视图Laravel 5.6中未定义的变量,php,laravel,laravel-5.6,Php,Laravel,Laravel 5.6,我试着解决这个问题,读了很多文章,但没有任何帮助,试着找出我的问题,因为我是新来的拉威尔 这是我的Index.blade.view,位于view/posts <!DOCTYPE html> <html> <head> <title>Post</title> </head> <body> <ul> <?php foreach ($posts as $pos

我试着解决这个问题,读了很多文章,但没有任何帮助,试着找出我的问题,因为我是新来的拉威尔

这是我的Index.blade.view,位于
view/posts

    <!DOCTYPE html>
<html>
<head>
    <title>Post</title>
</head>
<body>
<ul>
    <?php 
        foreach ($posts as $post) {
        echo "<li><a href = 'post/$post->$id'>".$post->$title."</a></li>";
        }
    ?>
</ul>
</body>
</html>
我读了很多与此相关的帖子,但没有任何帮助,我做错了什么? 这就是我面临的问题:未定义变量:posts(视图:C:\xampp\htdocs\firstApplication\resources\views\posts\index.blade.php)将视图更改为

</head>
<body>
<ul>
    <?php 
        foreach ($posts as $post) {
        echo "<li><a href = 'post/$post->id'>".$post->title."</a></li>";
        }
    ?>
</ul>
</body>
</html>

$post->$id
更改为
$post->id
$post->$title
更改为
$post->title

还有
compact($posts)
compact('posts')
compact($post)
compact('post')
假设您有另一个保存数据的变量,那么您的索引方法应该如下所示:

$post->id
而不是
$post->$id

 public function index(){
     $posts = Post::all();
     $someData = []; // extra variable
     return view('posts.index',compact('posts','someData'));
 }
要进行的另一项更改在视图文件中: 另一方面:您不必使用传统的PHP标记和foreach,相反,您可以使用Laravel干净优雅的方法,如下所示:

替换您的代码块:

<?php 
   foreach ($posts as $post) {
      echo "<li><a href = 'post/$post->$id'>".$post->$title."</a></li>";
   }
?>

更新代码:

@foreach($posts as $post)
    <li><a href = "{{ url('post/'. $post->id) }}" </a></li>
@endforeach
@foreach($posts as$post)
  • @endforeach
    请发布准确的错误消息。@Strom未定义变量:posts(视图:C:\xampp\htdocs\firstApplication\resources\views\posts\index.blade.php)非常感谢!
    @foreach($posts as $post)
        <li><a href = "{{ url('post/'. $post->id) }}" </a></li>
    @endforeach