ThinkPHP 5跨表一对多 Has Many Through怎么反绑查数据

新手上路,请多包涵

本来可以先通过Conuntry查User,然后通过User查Post,现在你可以通过Country直接查Post;
通常Country和User,User和Post的表间关系都是事先建立好的,这个时候你再使用hasManyThrough;

表结构:
country
id - integer
name - string

user
id - integer
country_id - integer
name - string

post
id - integer
user_id - integer
title - string

namespace App;
use Illuminate\Database\Eloquent\Model;
class Country extends Model
{
    public function posts()
    {
        return $this->hasManyThrough('Post', 'User', 'country_id', 'user_id');
        
    }
}

调用:

$country = Country::get(2);
$posts = $country->posts();

这样就取得id=2 ,国家所有的文章。但有哪位高人知道,怎么反绑,通过某个文章 id=100的所属哪个国家???

阅读 5.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进