首页 > 解决方案 > Laravel:检查模型是否是关系的孩子

问题描述

我有三个模型:A, B,C

具有以下代码:

$A = A::first()->load('getB');

$A->getB->load('getC');

Laravel 有没有办法在模型内检查C自己是否是 的孩子B,或者B自己是否是 的孩子A

标签: phplaraveleloquent

解决方案


比方说:

  • 一本书有很多评论。
  • 评论属于用户。

因此,要检查用户是否拥有/撰写评论:

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

$review->author->is($user);
// Or
$user->reviews->contains($review);

书籍和评论也是如此:

$book->reviews->contains($review);
$review->book->is($book);

我希望能回答你的问题。


推荐阅读