°

laravel实现一对多关联模型数据查询

2019年课程规划及价格说明


PHP实战视频教程大全

上文中laravel获取并展示博客首页文章列表数据,我们已经实现了文章的列表展示

但是列表中还有一些细节没有展示,比如说文章的作者、发布时间等

本文我们就是要通过laravel的一对多的关联模型来快速实现数据的调用

我们目前有users表和posts两张表,users表存放的是作者信息,比如作者名称等

posts表和users表关联的字段是author_id

现在我们要在展示文章数据的时候同时展示作者名称

那么,首先我们先来弄清楚两者的关系:1个作者可以有多篇文章 明显的一对多的关系

这个关系清楚了,就好做了:

1、找到users.php模型文件:

public function posts()
    {
        return $this->hasMany(Post::class);
    }

2、找到posts.php模型文件:

public function author()
    {
        return $this->belongsTo(User::class);
    }

3、找到BlogController.php修改原来的查询数据方法为:

public function index()
    {
        $posts = Post::with('author')->get();
        return view("blog.index", compact('posts'));
    }

4、找到模板views/blog/index.blade.php调用作者信息展示:

<li><i class="fa fa-user"></i><a href="#"> {{ $post->author->name }}</a></li>

这样是就ok啦

打赏
  喜欢