laravel 一个表中的关系

2cmtqfgy  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(166)

我有一个表格书(型号Book),其中列:idgroup_keycontent。我在这个表中有3行:
在模型中我有关系

public function allGroupItems()
{
    return $this->hasMany(self::class, 'group_key');
}

我得到表中的第一项,并尝试使用关系allGroupItems来获得表中与第一项相同的group_key的所有行。

$book = Book::find(1);
dd($book->allGroupItems); // 3 rows

我成功了。我得到了预期的三排。但是如果我尝试对第二行或第三行做同样的事情,我得到的结果是空数组:

$book = Book::find(2);
dd($book->allGroupItems); // empty array

我希望得到相同的3行。我不明白为什么我得到一个空数组。怎么了?
Laravel 9.52.7,php 8.2.1

ltskdhd1

ltskdhd11#

public function allGroupItems(): HasMany
{
    return $this->hasMany(self::class, 'group_key', 'group_key');
}

相关问题