Laravel帖子所有者关系

时间:2018-05-21 06:56:11

标签: php laravel laravel-5.6

我有category_contentcontentsusers个表,每个contents属于许多category_contentcategory_content属于许多{{1}每个contents属于一个用户,一个用户在contents表上有很多帖子

contents

通过以下代码,我可以找到类别ID为class Contents extends Model { ... public function categories() { return $this->belongsToMany(ContentCategories::class); } public function user() { return $this->belongsTo(User::class); } } class ContentCategories extends Model { ... public function contents() { return $this->belongsToMany(Contents::class); } } class User extends Authenticatable { ... public function content() { return $this->hasMany(Contents::class); } }

的类别内容
7

现在,问题在这里,如何在此查询中获得帖子所有者哪些内容属于哪个用户

我测试了这段代码,但是我收到了错误:

$nodejsContents = ContentCategories::find('7')->contents;

错误:

$nodejsContents = ContentCategories::find('7')->contents->user;

"Undefined property: Illuminate\Database\Eloquent\Builder::$contents" 迁移:

contents_categories

2 个答案:

答案 0 :(得分:2)

usercontents范围内,因此请使用闭包

进行访问
$nodejsContents = ContentCategories::has('contents')->with(['contents' => function($query){
                                        $query->with('user')->get();
                                    }])->find('7');

答案 1 :(得分:1)

$amount = (int)($amount*100);

ContentCategories::find('7')->contents 内容将返回一个集合。因此,您可以遍历集合以获取belongsToMany

的相关用户

Contents