【问题标题】:How to loop through using a foreach statement within my laravel blade view?如何在我的 laravel 刀片视图中循环使用 foreach 语句?
【发布时间】:2019-05-25 23:12:17
【问题描述】:

我正在尝试遍历我的数据库中的选定字段,然后将它们发布到刀片视图页面。但是我无法返回数据,它返回未定义的变量:发布错误消息。

我尝试了多种返回视图的方法,例如 with->() 和 compact

下面是我的控制器中的函数,它获取帖子并将它们发送到视图。

public function getPosts()
{
  $posts = Posts::all();
  //  return view('profile', ['posts' => $posts]);

    //$profilePosts = Posts::paginate(10);
   return view('page.profile' , compact('posts'));

}

下面是我的刀片视图中的 foreach 语句。

@foreach ($posts as $post)

{{$post->postContent}}

 @endforeach

预期的输出应该是一个帖子列表和存储在数据库中的内容

下面是我的 Post 模型类

namespace App;

use Illuminate\Database\Eloquent\Model;

class Posts extends Model
{
    public function user()
    {

        //Relationship
        return $this->belongsTo("App\User");
    }
}

【问题讨论】:

  • 是在视图中检索到的值,尝试将 $post 转储到控制器中,它显示了什么?
  • 为什么不return view('page.profile' , ['posts' => $posts]);
  • @Ibu 它仍然返回未定义的变量
  • @MVS 它似乎没有检索任何数据,我尝试回显 $post 但它没有显示任何内容,还有其他建议吗?
  • 请在您的控制器中返回视图之前dd($posts);

标签: php html laravel


【解决方案1】:

大家好,我发现我的代码有问题。首先,在@Jinal Somaiya 的建议下,我将protected $table = 'posts'; 包含在我的帖子模型课程中。然后确保我有正确的路线并将以下代码包含在我的 PostsController 索引函数中

   $posts = Posts::all();



   return view('page.profile')->with('posts',$posts);

我的问题描述中的上述foreach语句是正确的。

感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 2017-12-24
    • 2021-02-11
    • 2018-04-04
    • 2016-06-02
    • 2017-11-13
    • 1970-01-01
    • 2016-06-29
    • 2019-08-24
    • 1970-01-01
    相关资源
    最近更新 更多